home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Technology Seed / Jan. '98 ATS.toast / QuickTime™ 3.0b11 / QTPublicInterfaces / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1998-01-12  |  94.6 KB  |  3,125 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime interfaces
  5. ;
  6. ;    Version:    Technology:    
  7. ;                Release:    QuickTime 3.0 Beta
  8. ;
  9. ;    Copyright:    © 1990-1997 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  19. __IMAGECOMPRESSION__ SET 1
  20.  
  21.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  22.     include 'MacTypes.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  28.     include 'QDOffscreen.a'
  29.     ENDIF
  30.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  31.     include 'Components.a'
  32.     ENDIF
  33.     IF &TYPE('__MACWINDOWS__') = 'UNDEFINED' THEN
  34.     include 'MacWindows.a'
  35.     ENDIF
  36.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  37.     include 'StandardFile.a'
  38.     ENDIF
  39.  
  40.  
  41.  
  42. MatrixRecord            RECORD 0
  43. matrix                     ds.l    3 * 3            ; offset: $0 (0)
  44. sizeof                     EQU *                    ; size:   $24 (36)
  45.                         ENDR
  46. ; typedef struct MatrixRecord *            MatrixRecordPtr
  47.  
  48. FixedPoint                RECORD 0
  49. x                         ds.l    1                ; offset: $0 (0)
  50. y                         ds.l    1                ; offset: $4 (4)
  51. sizeof                     EQU *                    ; size:   $8 (8)
  52.                         ENDR
  53. FixedRect                RECORD 0
  54. left                     ds.l    1                ; offset: $0 (0)
  55. top                         ds.l    1                ; offset: $4 (4)
  56. right                     ds.l    1                ; offset: $8 (8)
  57. bottom                     ds.l    1                ; offset: $C (12)
  58. sizeof                     EQU *                    ; size:   $10 (16)
  59.                         ENDR
  60.  
  61. kRawCodecType                    EQU        'raw '
  62. kCinepakCodecType                EQU        'cvid'
  63. kGraphicsCodecType                EQU        'smc '
  64. kAnimationCodecType                EQU        'rle '
  65. kVideoCodecType                    EQU        'rpza'
  66. kComponentVideoCodecType        EQU        'yuv2'
  67. kJPEGCodecType                    EQU        'jpeg'
  68. kMotionJPEGACodecType            EQU        'mjpa'
  69. kMotionJPEGBCodecType            EQU        'mjpb'
  70. kSGICodecType                    EQU        '.SGI'
  71. kPlanarRGBCodecType                EQU        '8BPS'
  72. kMacPaintCodecType                EQU        'PNTG'
  73. kGIFCodecType                    EQU        'gif '
  74. kPhotoCDCodecType                EQU        'kpcd'
  75. kQuickDrawGXCodecType            EQU        'qdgx'
  76. kAVRJPEGCodecType                EQU        'avr '
  77. kOpenDMLJPEGCodecType            EQU        'dmb1'
  78. kBMPCodecType                    EQU        'WRLE'
  79. kWindowsRawCodecType            EQU        'WRAW'
  80. kVectorCodecType                EQU        'path'
  81. kQuickDrawCodecType                EQU        'qdrw'
  82. kWaterRippleCodecType            EQU        'ripl'
  83. kFireCodecType                    EQU        'fire'
  84. kCloudCodecType                    EQU        'clou'
  85. kH261CodecType                    EQU        'h261'
  86. kH263CodecType                    EQU        'h263'
  87. kDVCNTSCCodecType                EQU        'dvc '
  88. kDVCPALCodecType                EQU        'dvcp'
  89. kDVCProNTSCCodecType            EQU        'dvpn'
  90. kDVCProPALCodecType                EQU        'dvpp'
  91. kBaseCodecType                    EQU        'base'
  92. kFLCCodecType                    EQU        'flic'
  93. kTargaCodecType                    EQU        'tga '                ;    NOTE: despite what might seem obvious from the two constants
  94.                                                             ;    below and their names, they really are correct. 'yuvu' really 
  95.                                                             ;    does mean signed, and 'yuvs' really does mean unsigned. Really. 
  96. kComponentVideoSigned            EQU        'yuvu'
  97. kComponentVideoUnsigned            EQU        'yuvs'
  98. kCMYKCodecType                    EQU        'cmyk'
  99. kMicrosoftVideo1CodecType        EQU        'msvc'
  100.  
  101. ;  one source effects 
  102.  
  103. kBlurImageFilterType            EQU        'blur'
  104. kSharpenImageFilterType            EQU        'shrp'
  105. kEdgeDetectImageFilterType        EQU        'edge'
  106. kEmbossImageFilterType            EQU        'embs'
  107. kConvolveImageFilterType        EQU        'genk'
  108. kAlphaGainImageFilterType        EQU        'gain'
  109. kRGBColorBalanceImageFilterType    EQU        'rgbb'
  110. kHSLColorBalanceImageFilterType    EQU        'hslb'
  111. kColorSyncImageFilterType        EQU        'sync'
  112. kFilmNoiseImageFilterType        EQU        'fmns'
  113. kSolarizeImageFilterType        EQU        'solr'
  114. kColorTintImageFilterType        EQU        'tint'
  115. ;  two source effects 
  116.  
  117. kAlphaCompositorTransitionType    EQU        'blnd'
  118. kCrossFadeTransitionType        EQU        'dslv'
  119. kChromaKeyTransitionType        EQU        'ckey'
  120. kImplodeTransitionType            EQU        'mplo'
  121. kExplodeTransitionType            EQU        'xplo'
  122. kGradientTransitionType            EQU        'matt'
  123. kPushTransitionType                EQU        'push'
  124. kSlideTransitionType            EQU        'slid'
  125. kWipeTransitionType                EQU        'smpt'
  126. kIrisTransitionType                EQU        'smp2'
  127. kRadialTransitionType            EQU        'smp3'
  128. kMatrixTransitionType            EQU        'smp4'
  129. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  130.  
  131. codecInfoDoes1                    EQU        $00000001            ; codec can work with 1-bit pixels 
  132. codecInfoDoes2                    EQU        $00000002            ; codec can work with 2-bit pixels 
  133. codecInfoDoes4                    EQU        $00000004            ; codec can work with 4-bit pixels 
  134. codecInfoDoes8                    EQU        $00000008            ; codec can work with 8-bit pixels 
  135. codecInfoDoes16                    EQU        $00000010            ; codec can work with 16-bit pixels 
  136. codecInfoDoes32                    EQU        $00000020            ; codec can work with 32-bit pixels 
  137. codecInfoDoesDither                EQU        $00000040            ; codec can do ditherMode 
  138. codecInfoDoesStretch            EQU        $00000080            ; codec can stretch to arbitrary sizes 
  139. codecInfoDoesShrink                EQU        $00000100            ; codec can shrink to arbitrary sizes 
  140. codecInfoDoesMask                EQU        $00000200            ; codec can mask to clipping regions 
  141. codecInfoDoesTemporal            EQU        $00000400            ; codec can handle temporal redundancy 
  142. codecInfoDoesDouble                EQU        $00000800            ; codec can stretch to double size exactly 
  143. codecInfoDoesQuad                EQU        $00001000            ; codec can stretch to quadruple size exactly 
  144. codecInfoDoesHalf                EQU        $00002000            ; codec can shrink to half size 
  145. codecInfoDoesQuarter            EQU        $00004000            ; codec can shrink to quarter size 
  146. codecInfoDoesRotate                EQU        $00008000            ; codec can rotate on decompress 
  147. codecInfoDoesHorizFlip            EQU        $00010000            ; codec can flip horizontally on decompress 
  148. codecInfoDoesVertFlip            EQU        $00020000            ; codec can flip vertically on decompress 
  149. codecInfoHasEffectParameterList    EQU        $00040000            ; codec implements get effects parameter list call, once was codecInfoDoesSkew 
  150. codecInfoDoesBlend                EQU        $00080000            ; codec can blend on decompress 
  151. codecInfoDoesWarp                EQU        $00100000            ; codec can warp arbitrarily on decompress 
  152. codecInfoDoesRecompress            EQU        $00200000            ; codec can recompress image without accumulating errors 
  153. codecInfoDoesSpool                EQU        $00400000            ; codec can spool image data 
  154. codecInfoDoesRateConstrain        EQU        $00800000            ; codec can data rate constrain 
  155.  
  156.  
  157. codecInfoDepth1                    EQU        $00000001            ; compressed data at 1 bpp depth available 
  158. codecInfoDepth2                    EQU        $00000002            ; compressed data at 2 bpp depth available 
  159. codecInfoDepth4                    EQU        $00000004            ; compressed data at 4 bpp depth available 
  160. codecInfoDepth8                    EQU        $00000008            ; compressed data at 8 bpp depth available 
  161. codecInfoDepth16                EQU        $00000010            ; compressed data at 16 bpp depth available 
  162. codecInfoDepth32                EQU        $00000020            ; compressed data at 32 bpp depth available 
  163. codecInfoDepth24                EQU        $00000040            ; compressed data at 24 bpp depth available 
  164. codecInfoDepth33                EQU        $00000080            ; compressed data at 1 bpp monochrome depth  available 
  165. codecInfoDepth34                EQU        $00000100            ; compressed data at 2 bpp grayscale depth available 
  166. codecInfoDepth36                EQU        $00000200            ; compressed data at 4 bpp grayscale depth available 
  167. codecInfoDepth40                EQU        $00000400            ; compressed data at 8 bpp grayscale depth available 
  168. codecInfoStoresClut                EQU        $00000800            ; compressed data can have custom cluts 
  169. codecInfoDoesLossless            EQU        $00001000            ; compressed data can be stored in lossless format 
  170. codecInfoSequenceSensitive        EQU        $00002000            ; compressed data is sensitive to out of sequence decoding 
  171.  
  172. ;  input sequence flags
  173.  
  174. codecFlagUseImageBuffer            EQU        $00000001            ; decompress
  175. codecFlagUseScreenBuffer        EQU        $00000002            ; decompress
  176. codecFlagUpdatePrevious            EQU        $00000004            ; compress
  177. codecFlagNoScreenUpdate            EQU        $00000008            ; decompress
  178. codecFlagWasCompressed            EQU        $00000010            ; compress
  179. codecFlagDontOffscreen            EQU        $00000020            ; decompress
  180. codecFlagUpdatePreviousComp        EQU        $00000040            ; compress
  181. codecFlagForceKeyFrame            EQU        $00000080            ; compress
  182. codecFlagOnlyScreenUpdate        EQU        $00000100            ; decompress
  183. codecFlagLiveGrab                EQU        $00000200            ; compress
  184. codecFlagDontUseNewImageBuffer    EQU        $00000400            ; decompress
  185. codecFlagInterlaceUpdate        EQU        $00000800            ; decompress
  186. codecFlagCatchUpDiff            EQU        $00001000            ; decompress
  187. codecFlagSupportDisable            EQU        $00002000            ; decompress
  188. codecFlagReenable                EQU        $00004000            ; decompress
  189. ;  output sequence flags
  190.  
  191. codecFlagOutUpdateOnDataSourceChange EQU $00000400
  192. codecFlagSequenceSensitive        EQU        $00000800
  193. codecFlagOutUpdateOnTimeChange    EQU        $00001000
  194. codecFlagImageBufferNotSourceImage EQU    $00002000
  195. codecFlagUsedNewImageBuffer        EQU        $00004000
  196. codecFlagUsedImageBuffer        EQU        $00008000
  197.  
  198.  
  199.  
  200.  
  201.                                                             ; The minimum data size for spooling in or out data 
  202. codecMinimumDataSize            EQU        32768
  203.  
  204.  
  205.  
  206. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  207. decompressorComponentType        EQU        'imdc'                ; the type for "Components" which decompress images 
  208. ; typedef Component                     CompressorComponent
  209.  
  210. ; typedef Component                     DecompressorComponent
  211.  
  212. ; typedef Component                     CodecComponent
  213.  
  214.  
  215. anyCodec                        EQU        0                    ; take first working codec of given type 
  216. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  217. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  218. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  219. ; typedef OSType                         CodecType
  220.  
  221. ; typedef unsigned short                 CodecFlags
  222.  
  223. ; typedef unsigned long                 CodecQ
  224.  
  225.  
  226. codecLosslessQuality            EQU        $00000400
  227. codecMaxQuality                    EQU        $000003FF
  228. codecMinQuality                    EQU        $00000000
  229. codecLowQuality                    EQU        $00000100
  230. codecNormalQuality                EQU        $00000200
  231. codecHighQuality                EQU        $00000300
  232.  
  233. codecLockBitsShieldCursor        EQU        $01                    ; shield cursor 
  234.  
  235. codecCompletionSource            EQU        $01                    ; asynchronous codec is done with source data 
  236. codecCompletionDest                EQU        $02                    ; asynchronous codec is done with destination data 
  237. codecCompletionDontUnshield        EQU        $04                    ; on dest complete don't unshield cursor 
  238. codecCompletionWentOffscreen    EQU        $08                    ; codec used offscreen buffer 
  239. codecCompletionUnlockBits        EQU        $10                    ; on dest complete, call ICMSequenceUnlockBits 
  240. codecCompletionForceChainFlush    EQU        $20                    ; ICM needs to flush the whole chain 
  241. codecCompletionDropped            EQU        $40                    ; codec decided to drop this frame 
  242.  
  243. codecProgressOpen                EQU        0
  244. codecProgressUpdatePercent        EQU        1
  245. codecProgressClose                EQU        2
  246. ; typedef void *                        ICMCursorNotify
  247.  
  248. ; typedef long                             ImageSequence
  249.  
  250. ; typedef long                             ImageSequenceDataSource
  251.  
  252. ; typedef long                             ImageTranscodeSequence
  253.  
  254. ; typedef long                             ImageFieldSequence
  255.  
  256. ICMProgressProcRecord    RECORD 0
  257. progressProc             ds.l    1                ; offset: $0 (0)
  258. progressRefCon             ds.l    1                ; offset: $4 (4)
  259. sizeof                     EQU *                    ; size:   $8 (8)
  260.                         ENDR
  261. ; typedef struct ICMProgressProcRecord * ICMProgressProcRecordPtr
  262.  
  263. ICMCompletionProcRecord    RECORD 0
  264. completionProc             ds.l    1                ; offset: $0 (0)
  265. completionRefCon         ds.l    1                ; offset: $4 (4)
  266. sizeof                     EQU *                    ; size:   $8 (8)
  267.                         ENDR
  268. ; typedef struct ICMCompletionProcRecord * ICMCompletionProcRecordPtr
  269.  
  270. ICMDataProcRecord        RECORD 0
  271. dataProc                 ds.l    1                ; offset: $0 (0)
  272. dataRefCon                 ds.l    1                ; offset: $4 (4)
  273. sizeof                     EQU *                    ; size:   $8 (8)
  274.                         ENDR
  275. ; typedef struct ICMDataProcRecord *    ICMDataProcRecordPtr
  276.  
  277. ICMFlushProcRecord        RECORD 0
  278. flushProc                 ds.l    1                ; offset: $0 (0)
  279. flushRefCon                 ds.l    1                ; offset: $4 (4)
  280. sizeof                     EQU *                    ; size:   $8 (8)
  281.                         ENDR
  282. ; typedef struct ICMFlushProcRecord *    ICMFlushProcRecordPtr
  283.  
  284. ICMAlignmentProcRecord    RECORD 0
  285. alignmentProc             ds.l    1                ; offset: $0 (0)
  286. alignmentRefCon             ds.l    1                ; offset: $4 (4)
  287. sizeof                     EQU *                    ; size:   $8 (8)
  288.                         ENDR
  289. ; typedef struct ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr
  290.  
  291. DataRateParams            RECORD 0
  292. dataRate                 ds.l    1                ; offset: $0 (0)
  293. dataOverrun                 ds.l    1                ; offset: $4 (4)
  294. frameDuration             ds.l    1                ; offset: $8 (8)
  295. keyFrameRate             ds.l    1                ; offset: $C (12)
  296. minSpatialQuality         ds.l    1                ; offset: $10 (16)
  297. minTemporalQuality         ds.l    1                ; offset: $14 (20)
  298. sizeof                     EQU *                    ; size:   $18 (24)
  299.                         ENDR
  300. ; typedef struct DataRateParams *        DataRateParamsPtr
  301.  
  302. ImageDescription        RECORD 0
  303. idSize                     ds.l    1                ; offset: $0 (0)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data ) 
  304. cType                     ds.l    1                ; offset: $4 (4)        ;  what kind of codec compressed this data 
  305. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for Apple use 
  306. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for Apple use 
  307. dataRefIndex             ds.w    1                ; offset: $E (14)        ;  set to zero  
  308. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  309. revisionLevel             ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  310. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  311. temporalQuality             ds.l    1                ; offset: $18 (24)        ;  what was the temporal quality factor  
  312. spatialQuality             ds.l    1                ; offset: $1C (28)        ;  what was the spatial quality factor 
  313. width                     ds.w    1                ; offset: $20 (32)        ;  how many pixels wide is this data 
  314. height                     ds.w    1                ; offset: $22 (34)        ;  how many pixels high is this data 
  315. hRes                     ds.l    1                ; offset: $24 (36)        ;  horizontal resolution 
  316. vRes                     ds.l    1                ; offset: $28 (40)        ;  vertical resolution 
  317. dataSize                 ds.l    1                ; offset: $2C (44)        ;  if known, the size of data for this image descriptor 
  318. frameCount                 ds.w    1                ; offset: $30 (48)        ;  number of frames this description applies to 
  319. name                     ds        Str31            ; offset: $32 (50)        ;  name of codec ( in case not installed )  
  320. depth                     ds.w    1                ; offset: $52 (82)        ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  321. clutID                     ds.w    1                ; offset: $54 (84)        ;  clut id or if 0 clut follows  or -1 if no clut 
  322. sizeof                     EQU *                    ; size:   $56 (86)
  323.                         ENDR
  324. ; typedef struct ImageDescription *        ImageDescriptionPtr
  325.  
  326. ; typedef ImageDescriptionPtr *            ImageDescriptionHandle
  327.  
  328. CodecInfo                RECORD 0
  329. typeName                 ds        Str31            ; offset: $0 (0)        ;  name of the codec type i.e.: 'Apple Image Compression' 
  330. version                     ds.w    1                ; offset: $20 (32)        ;  version of the codec data that this codec knows about 
  331. revisionLevel             ds.w    1                ; offset: $22 (34)        ;  revision level of this codec i.e: 0x00010001 (1.0.1) 
  332. vendor                     ds.l    1                ; offset: $24 (36)        ;  Maker of this codec i.e: 'appl' 
  333. decompressFlags             ds.l    1                ; offset: $28 (40)        ;  codecInfo flags for decompression capabilities 
  334. compressFlags             ds.l    1                ; offset: $2C (44)        ;  codecInfo flags for compression capabilities 
  335. formatFlags                 ds.l    1                ; offset: $30 (48)        ;  codecInfo flags for compression format details 
  336. compressionAccuracy         ds.b    1                ; offset: $34 (52)        ;  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  337. decompressionAccuracy     ds.b    1                ; offset: $35 (53)        ;  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  338. compressionSpeed         ds.w    1                ; offset: $36 (54)        ;  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  339. decompressionSpeed         ds.w    1                ; offset: $38 (56)        ;  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  340. compressionLevel         ds.b    1                ; offset: $3A (58)        ;  measure (1-255) of compression level of this codec (0 if unknown)  
  341. resvd                     ds.b    1                ; offset: $3B (59)        ;  pad 
  342. minimumHeight             ds.w    1                ; offset: $3C (60)        ;  minimum height of image (block size) 
  343. minimumWidth             ds.w    1                ; offset: $3E (62)        ;  minimum width of image (block size) 
  344. decompressPipelineLatency  ds.w    1                ; offset: $40 (64)        ;  in milliseconds ( for asynchronous codecs ) 
  345. compressPipelineLatency     ds.w    1                ; offset: $42 (66)        ;  in milliseconds ( for asynchronous codecs ) 
  346. privateData                 ds.l    1                ; offset: $44 (68)
  347. sizeof                     EQU *                    ; size:   $48 (72)
  348.                         ENDR
  349. CodecNameSpec            RECORD 0
  350. codec                     ds.l    1                ; offset: $0 (0)
  351. cType                     ds.l    1                ; offset: $4 (4)
  352. typeName                 ds        Str31            ; offset: $8 (8)
  353. name                     ds.l    1                ; offset: $28 (40)
  354. sizeof                     EQU *                    ; size:   $2C (44)
  355.                         ENDR
  356. CodecNameSpecList        RECORD 0
  357. count                     ds.w    1                ; offset: $0 (0)
  358. list                     ds        CodecNameSpec    ; offset: $2 (2) <-- really an array of length one
  359. sizeof                     EQU *                    ; size:   $2E (46)
  360.                         ENDR
  361. ; typedef struct CodecNameSpecList *    CodecNameSpecListPtr
  362.  
  363.  
  364. defaultDither                    EQU        0
  365. forceDither                        EQU        1
  366. suppressDither                    EQU        2
  367. useColorMatching                EQU        4
  368.  
  369. callStdBits                        EQU        1
  370. callOldBits                        EQU        2
  371. noDefaultOpcodes                EQU        4
  372.  
  373. graphicsModeStraightAlpha        EQU        256
  374. graphicsModePreWhiteAlpha        EQU        257
  375. graphicsModePreBlackAlpha        EQU        258
  376. graphicsModeComposition            EQU        259
  377. graphicsModeStraightAlphaBlend    EQU        260
  378. graphicsModePreMulColorAlpha    EQU        261
  379.  
  380. evenField1ToEvenFieldOut        EQU        $01
  381. evenField1ToOddFieldOut            EQU        $02
  382. oddField1ToEvenFieldOut            EQU        $04
  383. oddField1ToOddFieldOut            EQU        $08
  384. evenField2ToEvenFieldOut        EQU        $10
  385. evenField2ToOddFieldOut            EQU        $20
  386. oddField2ToEvenFieldOut            EQU        $40
  387. oddField2ToOddFieldOut            EQU        $80
  388.  
  389. icmFrameTimeHasVirtualStartTimeAndDuration EQU $01
  390. ICMFrameTimeRecord        RECORD 0
  391. value                     ds        wide            ; offset: $0 (0)        ;  frame time
  392. scale                     ds.l    1                ; offset: $8 (8)        ;  timescale of value/duration fields
  393. base                     ds.l    1                ; offset: $C (12)        ;  timebase
  394. duration                 ds.l    1                ; offset: $10 (16)        ;  duration frame is to be displayed (0 if unknown)
  395. rate                     ds.l    1                ; offset: $14 (20)        ;  rate of timebase relative to wall-time
  396. recordSize                 ds.l    1                ; offset: $18 (24)        ;  total number of bytes in ICMFrameTimeRecord
  397. frameNumber                 ds.l    1                ; offset: $1C (28)        ;  number of frame, zero if not known
  398. flags                     ds.l    1                ; offset: $20 (32)
  399. virtualStartTime         ds        wide            ; offset: $24 (36)        ;  conceptual start time
  400. virtualDuration             ds.l    1                ; offset: $2C (44)        ;  conceptual duration
  401. sizeof                     EQU *                    ; size:   $30 (48)
  402.                         ENDR
  403. ; typedef struct ICMFrameTimeRecord *    ICMFrameTimePtr
  404.  
  405.  
  406. ;
  407. ; pascal OSErr CodecManagerVersion(long *version)
  408. ;
  409.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  410.         Macro
  411.         _CodecManagerVersion
  412.             moveq               #0,D0
  413.             dc.w                $AAA3
  414.         EndM
  415.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  416.         IMPORT_CFM_FUNCTION CodecManagerVersion
  417.     ENDIF
  418.  
  419. ;
  420. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  421. ;
  422.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  423.         Macro
  424.         _GetCodecNameList
  425.             moveq               #1,D0
  426.             dc.w                $AAA3
  427.         EndM
  428.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  429.         IMPORT_CFM_FUNCTION GetCodecNameList
  430.     ENDIF
  431.  
  432. ;
  433. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  434. ;
  435.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  436.         Macro
  437.         _DisposeCodecNameList
  438.             moveq               #15,D0
  439.             dc.w                $AAA3
  440.         EndM
  441.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  442.         IMPORT_CFM_FUNCTION DisposeCodecNameList
  443.     ENDIF
  444.  
  445. ;
  446. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  447. ;
  448.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  449.         Macro
  450.         _GetCodecInfo
  451.             moveq               #3,D0
  452.             dc.w                $AAA3
  453.         EndM
  454.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  455.         IMPORT_CFM_FUNCTION GetCodecInfo
  456.     ENDIF
  457.  
  458. ;
  459. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  460. ;
  461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  462.         Macro
  463.         _GetMaxCompressionSize
  464.             moveq               #4,D0
  465.             dc.w                $AAA3
  466.         EndM
  467.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  468.         IMPORT_CFM_FUNCTION GetMaxCompressionSize
  469.     ENDIF
  470.  
  471. ;
  472. ; pascal OSErr GetCSequenceMaxCompressionSize(ImageSequence seqID, PixMapHandle src, long *size)
  473. ;
  474.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  475.         Macro
  476.         _GetCSequenceMaxCompressionSize
  477.             move.l              #$000C0074,D0
  478.             dc.w                $AAA3
  479.         EndM
  480.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  481.         IMPORT_CFM_FUNCTION GetCSequenceMaxCompressionSize
  482.     ENDIF
  483.  
  484. ;
  485. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  486. ;
  487.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  488.         Macro
  489.         _GetCompressionTime
  490.             moveq               #5,D0
  491.             dc.w                $AAA3
  492.         EndM
  493.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  494.         IMPORT_CFM_FUNCTION GetCompressionTime
  495.     ENDIF
  496.  
  497. ;
  498. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  499. ;
  500.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  501.         Macro
  502.         _CompressImage
  503.             moveq               #6,D0
  504.             dc.w                $AAA3
  505.         EndM
  506.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  507.         IMPORT_CFM_FUNCTION CompressImage
  508.     ENDIF
  509.  
  510. ;
  511. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  512. ;
  513.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  514.         Macro
  515.         _FCompressImage
  516.             moveq               #7,D0
  517.             dc.w                $AAA3
  518.         EndM
  519.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  520.         IMPORT_CFM_FUNCTION FCompressImage
  521.     ENDIF
  522.  
  523. ;
  524. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  525. ;
  526.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  527.         Macro
  528.         _DecompressImage
  529.             moveq               #8,D0
  530.             dc.w                $AAA3
  531.         EndM
  532.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  533.         IMPORT_CFM_FUNCTION DecompressImage
  534.     ENDIF
  535.  
  536. ;
  537. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  538. ;
  539.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  540.         Macro
  541.         _FDecompressImage
  542.             moveq               #9,D0
  543.             dc.w                $AAA3
  544.         EndM
  545.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  546.         IMPORT_CFM_FUNCTION FDecompressImage
  547.     ENDIF
  548.  
  549. ;
  550. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc)
  551. ;
  552.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  553.         Macro
  554.         _CompressSequenceBegin
  555.             moveq               #10,D0
  556.             dc.w                $AAA3
  557.         EndM
  558.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  559.         IMPORT_CFM_FUNCTION CompressSequenceBegin
  560.     ENDIF
  561.  
  562. ;
  563. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  564. ;
  565.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  566.         Macro
  567.         _CompressSequenceFrame
  568.             moveq               #11,D0
  569.             dc.w                $AAA3
  570.         EndM
  571.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  572.         IMPORT_CFM_FUNCTION CompressSequenceFrame
  573.     ENDIF
  574.  
  575. ;
  576. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  577. ;
  578.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  579.         Macro
  580.         _DecompressSequenceBegin
  581.             moveq               #13,D0
  582.             dc.w                $AAA3
  583.         EndM
  584.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  585.         IMPORT_CFM_FUNCTION DecompressSequenceBegin
  586.     ENDIF
  587.  
  588. ;
  589. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  590. ;
  591.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  592.         Macro
  593.         _DecompressSequenceBeginS
  594.             move.l              #$0030005D,D0
  595.             dc.w                $AAA3
  596.         EndM
  597.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  598.         IMPORT_CFM_FUNCTION DecompressSequenceBeginS
  599.     ENDIF
  600.  
  601. ;
  602. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  603. ;
  604.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  605.         Macro
  606.         _DecompressSequenceFrame
  607.             moveq               #14,D0
  608.             dc.w                $AAA3
  609.         EndM
  610.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  611.         IMPORT_CFM_FUNCTION DecompressSequenceFrame
  612.     ENDIF
  613.  
  614. ;
  615. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  616. ;
  617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  618.         Macro
  619.         _DecompressSequenceFrameS
  620.             move.l              #$00160047,D0
  621.             dc.w                $AAA3
  622.         EndM
  623.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  624.         IMPORT_CFM_FUNCTION DecompressSequenceFrameS
  625.     ENDIF
  626.  
  627. ;
  628. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  629. ;
  630.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  631.         Macro
  632.         _DecompressSequenceFrameWhen
  633.             move.l              #$001A005E,D0
  634.             dc.w                $AAA3
  635.         EndM
  636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  637.         IMPORT_CFM_FUNCTION DecompressSequenceFrameWhen
  638.     ENDIF
  639.  
  640. ;
  641. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  642. ;
  643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  644.         Macro
  645.         _CDSequenceFlush
  646.             move.l              #$0004005F,D0
  647.             dc.w                $AAA3
  648.         EndM
  649.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  650.         IMPORT_CFM_FUNCTION CDSequenceFlush
  651.     ENDIF
  652.  
  653. ;
  654. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  655. ;
  656.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  657.         Macro
  658.         _SetDSequenceMatrix
  659.             moveq               #16,D0
  660.             dc.w                $AAA3
  661.         EndM
  662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  663.         IMPORT_CFM_FUNCTION SetDSequenceMatrix
  664.     ENDIF
  665.  
  666. ;
  667. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  668. ;
  669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  670.         Macro
  671.         _SetDSequenceMatte
  672.             moveq               #17,D0
  673.             dc.w                $AAA3
  674.         EndM
  675.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  676.         IMPORT_CFM_FUNCTION SetDSequenceMatte
  677.     ENDIF
  678.  
  679. ;
  680. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  681. ;
  682.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  683.         Macro
  684.         _SetDSequenceMask
  685.             moveq               #18,D0
  686.             dc.w                $AAA3
  687.         EndM
  688.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  689.         IMPORT_CFM_FUNCTION SetDSequenceMask
  690.     ENDIF
  691.  
  692. ;
  693. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  694. ;
  695.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  696.         Macro
  697.         _SetDSequenceTransferMode
  698.             moveq               #19,D0
  699.             dc.w                $AAA3
  700.         EndM
  701.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  702.         IMPORT_CFM_FUNCTION SetDSequenceTransferMode
  703.     ENDIF
  704.  
  705. ;
  706. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  707. ;
  708.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  709.         Macro
  710.         _SetDSequenceDataProc
  711.             moveq               #20,D0
  712.             dc.w                $AAA3
  713.         EndM
  714.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  715.         IMPORT_CFM_FUNCTION SetDSequenceDataProc
  716.     ENDIF
  717.  
  718. ;
  719. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  720. ;
  721.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  722.         Macro
  723.         _SetDSequenceAccuracy
  724.             moveq               #52,D0
  725.             dc.w                $AAA3
  726.         EndM
  727.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  728.         IMPORT_CFM_FUNCTION SetDSequenceAccuracy
  729.     ENDIF
  730.  
  731. ;
  732. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  733. ;
  734.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  735.         Macro
  736.         _SetDSequenceSrcRect
  737.             moveq               #53,D0
  738.             dc.w                $AAA3
  739.         EndM
  740.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  741.         IMPORT_CFM_FUNCTION SetDSequenceSrcRect
  742.     ENDIF
  743.  
  744.  
  745. ;
  746. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  747. ;
  748.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  749.         Macro
  750.         _GetDSequenceImageBuffer
  751.             moveq               #21,D0
  752.             dc.w                $AAA3
  753.         EndM
  754.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  755.         IMPORT_CFM_FUNCTION GetDSequenceImageBuffer
  756.     ENDIF
  757.  
  758. ;
  759. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  760. ;
  761.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  762.         Macro
  763.         _GetDSequenceScreenBuffer
  764.             moveq               #22,D0
  765.             dc.w                $AAA3
  766.         EndM
  767.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  768.         IMPORT_CFM_FUNCTION GetDSequenceScreenBuffer
  769.     ENDIF
  770.  
  771. ;
  772. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  773. ;
  774.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  775.         Macro
  776.         _SetCSequenceQuality
  777.             moveq               #23,D0
  778.             dc.w                $AAA3
  779.         EndM
  780.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  781.         IMPORT_CFM_FUNCTION SetCSequenceQuality
  782.     ENDIF
  783.  
  784. ;
  785. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  786. ;
  787.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  788.         Macro
  789.         _SetCSequencePrev
  790.             moveq               #24,D0
  791.             dc.w                $AAA3
  792.         EndM
  793.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  794.         IMPORT_CFM_FUNCTION SetCSequencePrev
  795.     ENDIF
  796.  
  797. ;
  798. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  799. ;
  800.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  801.         Macro
  802.         _SetCSequenceFlushProc
  803.             moveq               #51,D0
  804.             dc.w                $AAA3
  805.         EndM
  806.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  807.         IMPORT_CFM_FUNCTION SetCSequenceFlushProc
  808.     ENDIF
  809.  
  810. ;
  811. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyFrameRate)
  812. ;
  813.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  814.         Macro
  815.         _SetCSequenceKeyFrameRate
  816.             moveq               #54,D0
  817.             dc.w                $AAA3
  818.         EndM
  819.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  820.         IMPORT_CFM_FUNCTION SetCSequenceKeyFrameRate
  821.     ENDIF
  822.  
  823. ;
  824. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyFrameRate)
  825. ;
  826.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  827.         Macro
  828.         _GetCSequenceKeyFrameRate
  829.             move.l              #$0008004B,D0
  830.             dc.w                $AAA3
  831.         EndM
  832.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  833.         IMPORT_CFM_FUNCTION GetCSequenceKeyFrameRate
  834.     ENDIF
  835.  
  836. ;
  837. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  838. ;
  839.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  840.         Macro
  841.         _GetCSequencePrevBuffer
  842.             moveq               #25,D0
  843.             dc.w                $AAA3
  844.         EndM
  845.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  846.         IMPORT_CFM_FUNCTION GetCSequencePrevBuffer
  847.     ENDIF
  848.  
  849. ;
  850. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  851. ;
  852.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  853.         Macro
  854.         _CDSequenceBusy
  855.             moveq               #26,D0
  856.             dc.w                $AAA3
  857.         EndM
  858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  859.         IMPORT_CFM_FUNCTION CDSequenceBusy
  860.     ENDIF
  861.  
  862. ;
  863. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  864. ;
  865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  866.         Macro
  867.         _CDSequenceEnd
  868.             moveq               #27,D0
  869.             dc.w                $AAA3
  870.         EndM
  871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  872.         IMPORT_CFM_FUNCTION CDSequenceEnd
  873.     ENDIF
  874.  
  875. ;
  876. ; pascal OSErr CDSequenceEquivalentImageDescription(ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent)
  877. ;
  878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  879.         Macro
  880.         _CDSequenceEquivalentImageDescription
  881.             move.l              #$000C0065,D0
  882.             dc.w                $AAA3
  883.         EndM
  884.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  885.         IMPORT_CFM_FUNCTION CDSequenceEquivalentImageDescription
  886.     ENDIF
  887.  
  888. ;
  889. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  890. ;
  891.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  892.         Macro
  893.         _GetCompressedImageSize
  894.             moveq               #28,D0
  895.             dc.w                $AAA3
  896.         EndM
  897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  898.         IMPORT_CFM_FUNCTION GetCompressedImageSize
  899.     ENDIF
  900.  
  901. ;
  902. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  903. ;
  904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  905.         Macro
  906.         _GetSimilarity
  907.             moveq               #29,D0
  908.             dc.w                $AAA3
  909.         EndM
  910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  911.         IMPORT_CFM_FUNCTION GetSimilarity
  912.     ENDIF
  913.  
  914.  
  915. kImageDescriptionSampleFormat    EQU        'idfm'                ; image description extension describing sample format
  916. kImageDescriptionClassicAtomFormat EQU    'atom'                ; sample contains classic atom structure (ie, GX codec and Curve codec)
  917. kImageDescriptionQTAtomFormat    EQU        'qtat'                ; sample contains QT atom structure
  918. kImageDescriptionEffectDataFormat EQU    'fxat'                ; sample describes an effect (as QTAtoms)
  919. kImageDescriptionPrivateDataFormat EQU    'priv'                ; sample is in a private codec specific format
  920. ;
  921. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  922. ;
  923.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  924.         Macro
  925.         _GetImageDescriptionCTable
  926.             moveq               #30,D0
  927.             dc.w                $AAA3
  928.         EndM
  929.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  930.         IMPORT_CFM_FUNCTION GetImageDescriptionCTable
  931.     ENDIF
  932.  
  933. ;
  934. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  935. ;
  936.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  937.         Macro
  938.         _SetImageDescriptionCTable
  939.             moveq               #31,D0
  940.             dc.w                $AAA3
  941.         EndM
  942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  943.         IMPORT_CFM_FUNCTION SetImageDescriptionCTable
  944.     ENDIF
  945.  
  946. ;
  947. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  948. ;
  949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  950.         Macro
  951.         _GetImageDescriptionExtension
  952.             moveq               #32,D0
  953.             dc.w                $AAA3
  954.         EndM
  955.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  956.         IMPORT_CFM_FUNCTION GetImageDescriptionExtension
  957.     ENDIF
  958.  
  959. ;
  960. ; pascal OSErr AddImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  961. ;
  962.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  963.         Macro
  964.         _AddImageDescriptionExtension
  965.             moveq               #33,D0
  966.             dc.w                $AAA3
  967.         EndM
  968.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  969.         IMPORT_CFM_FUNCTION AddImageDescriptionExtension
  970.     ENDIF
  971.  
  972. ;
  973. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescriptionHandle desc, long idType, long index)
  974. ;
  975.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  976.         Macro
  977.         _RemoveImageDescriptionExtension
  978.             move.l              #$000C003A,D0
  979.             dc.w                $AAA3
  980.         EndM
  981.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  982.         IMPORT_CFM_FUNCTION RemoveImageDescriptionExtension
  983.     ENDIF
  984.  
  985. ;
  986. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescriptionHandle desc, long idType, long *count)
  987. ;
  988.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  989.         Macro
  990.         _CountImageDescriptionExtensionType
  991.             move.l              #$000C003B,D0
  992.             dc.w                $AAA3
  993.         EndM
  994.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  995.         IMPORT_CFM_FUNCTION CountImageDescriptionExtensionType
  996.     ENDIF
  997.  
  998. ;
  999. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescriptionHandle desc, long *idType)
  1000. ;
  1001.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1002.         Macro
  1003.         _GetNextImageDescriptionExtensionType
  1004.             move.l              #$0008003C,D0
  1005.             dc.w                $AAA3
  1006.         EndM
  1007.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1008.         IMPORT_CFM_FUNCTION GetNextImageDescriptionExtensionType
  1009.     ENDIF
  1010.  
  1011. ;
  1012. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  1013. ;
  1014.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1015.         Macro
  1016.         _FindCodec
  1017.             moveq               #35,D0
  1018.             dc.w                $AAA3
  1019.         EndM
  1020.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1021.         IMPORT_CFM_FUNCTION FindCodec
  1022.     ENDIF
  1023.  
  1024. ;
  1025. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  1026. ;
  1027.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1028.         Macro
  1029.         _CompressPicture
  1030.             moveq               #36,D0
  1031.             dc.w                $AAA3
  1032.         EndM
  1033.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1034.         IMPORT_CFM_FUNCTION CompressPicture
  1035.     ENDIF
  1036.  
  1037. ;
  1038. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1039. ;
  1040.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1041.         Macro
  1042.         _FCompressPicture
  1043.             moveq               #37,D0
  1044.             dc.w                $AAA3
  1045.         EndM
  1046.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1047.         IMPORT_CFM_FUNCTION FCompressPicture
  1048.     ENDIF
  1049.  
  1050. ;
  1051. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  1052. ;
  1053.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1054.         Macro
  1055.         _CompressPictureFile
  1056.             moveq               #38,D0
  1057.             dc.w                $AAA3
  1058.         EndM
  1059.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1060.         IMPORT_CFM_FUNCTION CompressPictureFile
  1061.     ENDIF
  1062.  
  1063. ;
  1064. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1065. ;
  1066.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1067.         Macro
  1068.         _FCompressPictureFile
  1069.             moveq               #39,D0
  1070.             dc.w                $AAA3
  1071.         EndM
  1072.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1073.         IMPORT_CFM_FUNCTION FCompressPictureFile
  1074.     ENDIF
  1075.  
  1076. ;
  1077. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  1078. ;
  1079.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1080.         Macro
  1081.         _GetPictureFileHeader
  1082.             moveq               #40,D0
  1083.             dc.w                $AAA3
  1084.         EndM
  1085.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1086.         IMPORT_CFM_FUNCTION GetPictureFileHeader
  1087.     ENDIF
  1088.  
  1089. ;
  1090. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  1091. ;
  1092.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1093.         Macro
  1094.         _DrawPictureFile
  1095.             moveq               #41,D0
  1096.             dc.w                $AAA3
  1097.         EndM
  1098.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1099.         IMPORT_CFM_FUNCTION DrawPictureFile
  1100.     ENDIF
  1101.  
  1102. ;
  1103. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1104. ;
  1105.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1106.         Macro
  1107.         _DrawTrimmedPicture
  1108.             moveq               #46,D0
  1109.             dc.w                $AAA3
  1110.         EndM
  1111.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1112.         IMPORT_CFM_FUNCTION DrawTrimmedPicture
  1113.     ENDIF
  1114.  
  1115. ;
  1116. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1117. ;
  1118.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1119.         Macro
  1120.         _DrawTrimmedPictureFile
  1121.             moveq               #47,D0
  1122.             dc.w                $AAA3
  1123.         EndM
  1124.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1125.         IMPORT_CFM_FUNCTION DrawTrimmedPictureFile
  1126.     ENDIF
  1127.  
  1128. ;
  1129. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1130. ;
  1131.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1132.         Macro
  1133.         _MakeThumbnailFromPicture
  1134.             moveq               #42,D0
  1135.             dc.w                $AAA3
  1136.         EndM
  1137.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1138.         IMPORT_CFM_FUNCTION MakeThumbnailFromPicture
  1139.     ENDIF
  1140.  
  1141. ;
  1142. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1143. ;
  1144.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1145.         Macro
  1146.         _MakeThumbnailFromPictureFile
  1147.             moveq               #43,D0
  1148.             dc.w                $AAA3
  1149.         EndM
  1150.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1151.         IMPORT_CFM_FUNCTION MakeThumbnailFromPictureFile
  1152.     ENDIF
  1153.  
  1154. ;
  1155. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1156. ;
  1157.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1158.         Macro
  1159.         _MakeThumbnailFromPixMap
  1160.             moveq               #44,D0
  1161.             dc.w                $AAA3
  1162.         EndM
  1163.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1164.         IMPORT_CFM_FUNCTION MakeThumbnailFromPixMap
  1165.     ENDIF
  1166.  
  1167. ;
  1168. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1169. ;
  1170.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1171.         Macro
  1172.         _TrimImage
  1173.             moveq               #45,D0
  1174.             dc.w                $AAA3
  1175.         EndM
  1176.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1177.         IMPORT_CFM_FUNCTION TrimImage
  1178.     ENDIF
  1179.  
  1180. ;
  1181. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1182. ;
  1183.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1184.         Macro
  1185.         _ConvertImage
  1186.             moveq               #48,D0
  1187.             dc.w                $AAA3
  1188.         EndM
  1189.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1190.         IMPORT_CFM_FUNCTION ConvertImage
  1191.     ENDIF
  1192.  
  1193. ;
  1194. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1195. ;
  1196.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1197.         Macro
  1198.         _GetCompressedPixMapInfo
  1199.             moveq               #55,D0
  1200.             dc.w                $AAA3
  1201.         EndM
  1202.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1203.         IMPORT_CFM_FUNCTION GetCompressedPixMapInfo
  1204.     ENDIF
  1205.  
  1206. ;
  1207. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1208. ;
  1209.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1210.         Macro
  1211.         _SetCompressedPixMapInfo
  1212.             moveq               #56,D0
  1213.             dc.w                $AAA3
  1214.         EndM
  1215.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1216.         IMPORT_CFM_FUNCTION SetCompressedPixMapInfo
  1217.     ENDIF
  1218.  
  1219. ;
  1220. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1221. ;
  1222.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1223.         Macro
  1224.         _StdPix
  1225.             moveq               #12,D0
  1226.             dc.w                $AAA3
  1227.         EndM
  1228.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1229.         IMPORT_CFM_FUNCTION StdPix
  1230.     ENDIF
  1231.  
  1232. ;
  1233. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1234. ;
  1235.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1236.         Macro
  1237.         _TransformRgn
  1238.             moveq               #57,D0
  1239.             dc.w                $AAA3
  1240.         EndM
  1241.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1242.         IMPORT_CFM_FUNCTION TransformRgn
  1243.     ENDIF
  1244.  
  1245. ; ***********
  1246. ;    preview stuff
  1247. ;**********
  1248.  
  1249. ;
  1250. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1251. ;
  1252.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1253.         Macro
  1254.         _SFGetFilePreview
  1255.             moveq               #65,D0
  1256.             dc.w                $AAA3
  1257.         EndM
  1258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1259.         IMPORT_CFM_FUNCTION SFGetFilePreview
  1260.     ENDIF
  1261.  
  1262. ;
  1263. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1264. ;
  1265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1266.         Macro
  1267.         _SFPGetFilePreview
  1268.             moveq               #66,D0
  1269.             dc.w                $AAA3
  1270.         EndM
  1271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1272.         IMPORT_CFM_FUNCTION SFPGetFilePreview
  1273.     ENDIF
  1274.  
  1275. ;
  1276. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1277. ;
  1278.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1279.         Macro
  1280.         _StandardGetFilePreview
  1281.             moveq               #67,D0
  1282.             dc.w                $AAA3
  1283.         EndM
  1284.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1285.         IMPORT_CFM_FUNCTION StandardGetFilePreview
  1286.     ENDIF
  1287.  
  1288. ;
  1289. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1290. ;
  1291.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1292.         Macro
  1293.         _CustomGetFilePreview
  1294.             moveq               #68,D0
  1295.             dc.w                $AAA3
  1296.         EndM
  1297.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1298.         IMPORT_CFM_FUNCTION CustomGetFilePreview
  1299.     ENDIF
  1300.  
  1301. ;
  1302. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1303. ;
  1304.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1305.         Macro
  1306.         _MakeFilePreview
  1307.             moveq               #69,D0
  1308.             dc.w                $AAA3
  1309.         EndM
  1310.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1311.         IMPORT_CFM_FUNCTION MakeFilePreview
  1312.     ENDIF
  1313.  
  1314. ;
  1315. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1316. ;
  1317.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1318.         Macro
  1319.         _AddFilePreview
  1320.             moveq               #70,D0
  1321.             dc.w                $AAA3
  1322.         EndM
  1323.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1324.         IMPORT_CFM_FUNCTION AddFilePreview
  1325.     ENDIF
  1326.  
  1327.  
  1328. sfpItemPreviewAreaUser            EQU        11
  1329. sfpItemPreviewStaticText        EQU        12
  1330. sfpItemPreviewDividerUser        EQU        13
  1331. sfpItemCreatePreviewButton        EQU        14
  1332. sfpItemShowPreviewButton        EQU        15
  1333. PreviewResourceRecord    RECORD 0
  1334. modDate                     ds.l    1                ; offset: $0 (0)
  1335. version                     ds.w    1                ; offset: $4 (4)
  1336. resType                     ds.l    1                ; offset: $6 (6)
  1337. resID                     ds.w    1                ; offset: $A (10)
  1338. sizeof                     EQU *                    ; size:   $C (12)
  1339.                         ENDR
  1340. ; typedef struct PreviewResourceRecord * PreviewResourcePtr
  1341.  
  1342. ; typedef PreviewResourcePtr *            PreviewResource
  1343.  
  1344. ;
  1345. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1346. ;
  1347.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1348.         Macro
  1349.         _AlignScreenRect
  1350.             move.l              #$0008004C,D0
  1351.             dc.w                $AAA3
  1352.         EndM
  1353.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1354.         IMPORT_CFM_FUNCTION AlignScreenRect
  1355.     ENDIF
  1356.  
  1357. ;
  1358. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1359. ;
  1360.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1361.         Macro
  1362.         _AlignWindow
  1363.             move.l              #$000E004D,D0
  1364.             dc.w                $AAA3
  1365.         EndM
  1366.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1367.         IMPORT_CFM_FUNCTION AlignWindow
  1368.     ENDIF
  1369.  
  1370. ;
  1371. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1372. ;
  1373.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1374.         Macro
  1375.         _DragAlignedWindow
  1376.             move.l              #$0014004E,D0
  1377.             dc.w                $AAA3
  1378.         EndM
  1379.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1380.         IMPORT_CFM_FUNCTION DragAlignedWindow
  1381.     ENDIF
  1382.  
  1383. ;
  1384. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1385. ;
  1386.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1387.         Macro
  1388.         _DragAlignedGrayRgn
  1389.             move.l              #$001E004F,D0
  1390.             dc.w                $AAA3
  1391.         EndM
  1392.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1393.         IMPORT_CFM_FUNCTION DragAlignedGrayRgn
  1394.     ENDIF
  1395.  
  1396. ;
  1397. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1398. ;
  1399.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1400.         Macro
  1401.         _SetCSequenceDataRateParams
  1402.             move.l              #$00080050,D0
  1403.             dc.w                $AAA3
  1404.         EndM
  1405.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1406.         IMPORT_CFM_FUNCTION SetCSequenceDataRateParams
  1407.     ENDIF
  1408.  
  1409. ;
  1410. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1411. ;
  1412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1413.         Macro
  1414.         _SetCSequenceFrameNumber
  1415.             move.l              #$00080051,D0
  1416.             dc.w                $AAA3
  1417.         EndM
  1418.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1419.         IMPORT_CFM_FUNCTION SetCSequenceFrameNumber
  1420.     ENDIF
  1421.  
  1422. ;
  1423. ; pascal OSErr SetCSequencePreferredPacketSize(ImageSequence seqID, long preferredPacketSizeInBytes)
  1424. ;
  1425.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1426.         Macro
  1427.         _SetCSequencePreferredPacketSize
  1428.             move.l              #$00080078,D0
  1429.             dc.w                $AAA3
  1430.         EndM
  1431.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1432.         IMPORT_CFM_FUNCTION SetCSequencePreferredPacketSize
  1433.     ENDIF
  1434.  
  1435. ;
  1436. ; pascal OSErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1437. ;
  1438.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1439.         Macro
  1440.         _NewImageGWorld
  1441.             move.l              #$000C0052,D0
  1442.             dc.w                $AAA3
  1443.         EndM
  1444.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1445.         IMPORT_CFM_FUNCTION NewImageGWorld
  1446.     ENDIF
  1447.  
  1448. ;
  1449. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1450. ;
  1451.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1452.         Macro
  1453.         _GetCSequenceDataRateParams
  1454.             move.l              #$00080053,D0
  1455.             dc.w                $AAA3
  1456.         EndM
  1457.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1458.         IMPORT_CFM_FUNCTION GetCSequenceDataRateParams
  1459.     ENDIF
  1460.  
  1461. ;
  1462. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1463. ;
  1464.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1465.         Macro
  1466.         _GetCSequenceFrameNumber
  1467.             move.l              #$00080054,D0
  1468.             dc.w                $AAA3
  1469.         EndM
  1470.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1471.         IMPORT_CFM_FUNCTION GetCSequenceFrameNumber
  1472.     ENDIF
  1473.  
  1474. ;
  1475. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1476. ;
  1477.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1478.         Macro
  1479.         _GetBestDeviceRect
  1480.             move.l              #$00080055,D0
  1481.             dc.w                $AAA3
  1482.         EndM
  1483.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1484.         IMPORT_CFM_FUNCTION GetBestDeviceRect
  1485.     ENDIF
  1486.  
  1487. ;
  1488. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1489. ;
  1490.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1491.         Macro
  1492.         _SetSequenceProgressProc
  1493.             move.l              #$00080056,D0
  1494.             dc.w                $AAA3
  1495.         EndM
  1496.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1497.         IMPORT_CFM_FUNCTION SetSequenceProgressProc
  1498.     ENDIF
  1499.  
  1500. ;
  1501. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1502. ;
  1503.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1504.         Macro
  1505.         _GDHasScale
  1506.             move.l              #$000A005A,D0
  1507.             dc.w                $AAA3
  1508.         EndM
  1509.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1510.         IMPORT_CFM_FUNCTION GDHasScale
  1511.     ENDIF
  1512.  
  1513. ;
  1514. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1515. ;
  1516.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1517.         Macro
  1518.         _GDGetScale
  1519.             move.l              #$000C005B,D0
  1520.             dc.w                $AAA3
  1521.         EndM
  1522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1523.         IMPORT_CFM_FUNCTION GDGetScale
  1524.     ENDIF
  1525.  
  1526. ;
  1527. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1528. ;
  1529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1530.         Macro
  1531.         _GDSetScale
  1532.             move.l              #$000A005C,D0
  1533.             dc.w                $AAA3
  1534.         EndM
  1535.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1536.         IMPORT_CFM_FUNCTION GDSetScale
  1537.     ENDIF
  1538.  
  1539. ;
  1540. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1541. ;
  1542.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1543.         Macro
  1544.         _ICMShieldSequenceCursor
  1545.             move.l              #$00040062,D0
  1546.             dc.w                $AAA3
  1547.         EndM
  1548.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1549.         IMPORT_CFM_FUNCTION ICMShieldSequenceCursor
  1550.     ENDIF
  1551.  
  1552. ;
  1553. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1554. ;
  1555.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1556.         Macro
  1557.         _ICMDecompressComplete
  1558.             move.l              #$000C0063,D0
  1559.             dc.w                $AAA3
  1560.         EndM
  1561.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1562.         IMPORT_CFM_FUNCTION ICMDecompressComplete
  1563.     ENDIF
  1564.  
  1565. ;
  1566. ; pascal OSErr ICMDecompressCompleteS(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1567. ;
  1568.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1569.         Macro
  1570.         _ICMDecompressCompleteS
  1571.             move.l              #$000C0082,D0
  1572.             dc.w                $AAA3
  1573.         EndM
  1574.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1575.         IMPORT_CFM_FUNCTION ICMDecompressCompleteS
  1576.     ENDIF
  1577.  
  1578. ;
  1579. ; pascal OSErr ICMSequenceLockBits(ImageSequence seqID, PixMapPtr dst, long flags)
  1580. ;
  1581.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1582.         Macro
  1583.         _ICMSequenceLockBits
  1584.             move.l              #$000C007C,D0
  1585.             dc.w                $AAA3
  1586.         EndM
  1587.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1588.         IMPORT_CFM_FUNCTION ICMSequenceLockBits
  1589.     ENDIF
  1590.  
  1591. ;
  1592. ; pascal OSErr ICMSequenceUnlockBits(ImageSequence seqID, long flags)
  1593. ;
  1594.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1595.         Macro
  1596.         _ICMSequenceUnlockBits
  1597.             move.l              #$0008007D,D0
  1598.             dc.w                $AAA3
  1599.         EndM
  1600.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1601.         IMPORT_CFM_FUNCTION ICMSequenceUnlockBits
  1602.     ENDIF
  1603.  
  1604. ICMPixelFormatInfo        RECORD 0
  1605. size                     ds.l    1                ; offset: $0 (0)
  1606. formatFlags                 ds.l    1                ; offset: $4 (4)
  1607. pixelSize                 ds.w    1                ; offset: $8 (8)
  1608. reserved0                 ds.w    1                ; offset: $A (10)
  1609. reserved2                 ds.l    1                ; offset: $C (12)
  1610. sizeof                     EQU *                    ; size:   $10 (16)
  1611.                         ENDR
  1612. ; typedef struct ICMPixelFormatInfo *    ICMPixelFormatInfoPtr
  1613.  
  1614. ;
  1615. ; pascal OSErr ICMGetPixelFormatInfo(OSType PixelFormat, ICMPixelFormatInfoPtr theInfo)
  1616. ;
  1617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1618.         Macro
  1619.         _ICMGetPixelFormatInfo
  1620.             move.l              #$00080083,D0
  1621.             dc.w                $AAA3
  1622.         EndM
  1623.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1624.         IMPORT_CFM_FUNCTION ICMGetPixelFormatInfo
  1625.     ENDIF
  1626.  
  1627.  
  1628. kICMGetChainUltimateParent        EQU        0
  1629. kICMGetChainParent                EQU        1
  1630. kICMGetChainChild                EQU        2
  1631. kICMGetChainUltimateChild        EQU        3
  1632. ;
  1633. ; pascal OSErr ICMSequenceGetChainMember(ImageSequence seqID, ImageSequence *retSeqID, long flags)
  1634. ;
  1635.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1636.         Macro
  1637.         _ICMSequenceGetChainMember
  1638.             move.l              #$000C007E,D0
  1639.             dc.w                $AAA3
  1640.         EndM
  1641.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1642.         IMPORT_CFM_FUNCTION ICMSequenceGetChainMember
  1643.     ENDIF
  1644.  
  1645. ;
  1646. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1647. ;
  1648.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1649.         Macro
  1650.         _SetDSequenceTimeCode
  1651.             move.l              #$000C0064,D0
  1652.             dc.w                $AAA3
  1653.         EndM
  1654.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1655.         IMPORT_CFM_FUNCTION SetDSequenceTimeCode
  1656.     ENDIF
  1657.  
  1658. ;
  1659. ; pascal OSErr CDSequenceNewMemory(ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon)
  1660. ;
  1661.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1662.         Macro
  1663.         _CDSequenceNewMemory
  1664.             move.l              #$00180066,D0
  1665.             dc.w                $AAA3
  1666.         EndM
  1667.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1668.         IMPORT_CFM_FUNCTION CDSequenceNewMemory
  1669.     ENDIF
  1670.  
  1671. ;
  1672. ; pascal OSErr CDSequenceDisposeMemory(ImageSequence seqID, Ptr data)
  1673. ;
  1674.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1675.         Macro
  1676.         _CDSequenceDisposeMemory
  1677.             move.l              #$00080067,D0
  1678.             dc.w                $AAA3
  1679.         EndM
  1680.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1681.         IMPORT_CFM_FUNCTION CDSequenceDisposeMemory
  1682.     ENDIF
  1683.  
  1684. ;
  1685. ; pascal OSErr CDSequenceNewDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, void *transferProc, void *refCon)
  1686. ;
  1687.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1688.         Macro
  1689.         _CDSequenceNewDataSource
  1690.             move.l              #$001C0068,D0
  1691.             dc.w                $AAA3
  1692.         EndM
  1693.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1694.         IMPORT_CFM_FUNCTION CDSequenceNewDataSource
  1695.     ENDIF
  1696.  
  1697. ;
  1698. ; pascal OSErr CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID)
  1699. ;
  1700.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1701.         Macro
  1702.         _CDSequenceDisposeDataSource
  1703.             move.l              #$00040069,D0
  1704.             dc.w                $AAA3
  1705.         EndM
  1706.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1707.         IMPORT_CFM_FUNCTION CDSequenceDisposeDataSource
  1708.     ENDIF
  1709.  
  1710. ;
  1711. ; pascal OSErr CDSequenceSetSourceData(ImageSequenceDataSource sourceID, void *data, long dataSize)
  1712. ;
  1713.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1714.         Macro
  1715.         _CDSequenceSetSourceData
  1716.             move.l              #$000C006A,D0
  1717.             dc.w                $AAA3
  1718.         EndM
  1719.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1720.         IMPORT_CFM_FUNCTION CDSequenceSetSourceData
  1721.     ENDIF
  1722.  
  1723. ;
  1724. ; pascal OSErr CDSequenceChangedSourceData(ImageSequenceDataSource sourceID)
  1725. ;
  1726.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1727.         Macro
  1728.         _CDSequenceChangedSourceData
  1729.             move.l              #$0004006B,D0
  1730.             dc.w                $AAA3
  1731.         EndM
  1732.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1733.         IMPORT_CFM_FUNCTION CDSequenceChangedSourceData
  1734.     ENDIF
  1735.  
  1736. ;
  1737. ; pascal OSErr CDSequenceSetSourceDataQueue(ImageSequenceDataSource sourceID, QHdrPtr dataQueue)
  1738. ;
  1739.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1740.         Macro
  1741.         _CDSequenceSetSourceDataQueue
  1742.             move.l              #$0008007B,D0
  1743.             dc.w                $AAA3
  1744.         EndM
  1745.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1746.         IMPORT_CFM_FUNCTION CDSequenceSetSourceDataQueue
  1747.     ENDIF
  1748.  
  1749. ;
  1750. ; pascal OSErr CDSequenceGetDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber)
  1751. ;
  1752.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1753.         Macro
  1754.         _CDSequenceGetDataSource
  1755.             move.l              #$0010007F,D0
  1756.             dc.w                $AAA3
  1757.         EndM
  1758.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1759.         IMPORT_CFM_FUNCTION CDSequenceGetDataSource
  1760.     ENDIF
  1761.  
  1762. ;
  1763. ; pascal OSErr PtInDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit)
  1764. ;
  1765.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1766.         Macro
  1767.         _PtInDSequenceData
  1768.             move.l              #$0014006C,D0
  1769.             dc.w                $AAA3
  1770.         EndM
  1771.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1772.         IMPORT_CFM_FUNCTION PtInDSequenceData
  1773.     ENDIF
  1774.  
  1775. ;
  1776. ; pascal OSErr HitTestDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, long *hit, long hitFlags)
  1777. ;
  1778.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1779.         Macro
  1780.         _HitTestDSequenceData
  1781.             move.l              #$00060087,D0
  1782.             dc.w                $AAA3
  1783.         EndM
  1784.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1785.         IMPORT_CFM_FUNCTION HitTestDSequenceData
  1786.     ENDIF
  1787.  
  1788. ;
  1789. ; pascal OSErr GetGraphicsImporterForFile(const FSSpec *theFile, ComponentInstance *gi)
  1790. ;
  1791.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1792.         Macro
  1793.         _GetGraphicsImporterForFile
  1794.             move.l              #$0008006E,D0
  1795.             dc.w                $AAA3
  1796.         EndM
  1797.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1798.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFile
  1799.     ENDIF
  1800.  
  1801. ;
  1802. ; pascal OSErr GetGraphicsImporterForDataRef(Handle dataRef, OSType dataRefType, ComponentInstance *gi)
  1803. ;
  1804.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1805.         Macro
  1806.         _GetGraphicsImporterForDataRef
  1807.             move.l              #$000C0077,D0
  1808.             dc.w                $AAA3
  1809.         EndM
  1810.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1811.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRef
  1812.     ENDIF
  1813.  
  1814.  
  1815. kDontUseValidateToFindGraphicsImporter EQU $00000001
  1816. ;
  1817. ; pascal OSErr GetGraphicsImporterForFileWithFlags(const FSSpec *theFile, ComponentInstance *gi, long flags)
  1818. ;
  1819.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1820.         Macro
  1821.         _GetGraphicsImporterForFileWithFlags
  1822.             move.l              #$000C0084,D0
  1823.             dc.w                $AAA3
  1824.         EndM
  1825.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1826.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFileWithFlags
  1827.     ENDIF
  1828.  
  1829. ;
  1830. ; pascal OSErr GetGraphicsImporterForDataRefWithFlags(Handle dataRef, OSType dataRefType, ComponentInstance *gi, long flags)
  1831. ;
  1832.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1833.         Macro
  1834.         _GetGraphicsImporterForDataRefWithFlags
  1835.             move.l              #$00100085,D0
  1836.             dc.w                $AAA3
  1837.         EndM
  1838.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1839.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRefWithFlags
  1840.     ENDIF
  1841.  
  1842. ;
  1843. ; pascal OSErr QTGetFileNameExtension(ConstStrFileNameParam fileName, OSType fileType, OSType *extension)
  1844. ;
  1845.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1846.         Macro
  1847.         _QTGetFileNameExtension
  1848.             move.l              #$000C0061,D0
  1849.             dc.w                $AAA3
  1850.         EndM
  1851.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1852.         IMPORT_CFM_FUNCTION QTGetFileNameExtension
  1853.     ENDIF
  1854.  
  1855. ;
  1856. ; pascal OSErr ImageTranscodeSequenceBegin(ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  1857. ;
  1858.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1859.         Macro
  1860.         _ImageTranscodeSequenceBegin
  1861.             move.l              #$0018006F,D0
  1862.             dc.w                $AAA3
  1863.         EndM
  1864.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1865.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceBegin
  1866.     ENDIF
  1867.  
  1868. ;
  1869. ; pascal OSErr ImageTranscodeSequenceEnd(ImageTranscodeSequence its)
  1870. ;
  1871.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1872.         Macro
  1873.         _ImageTranscodeSequenceEnd
  1874.             move.l              #$00040070,D0
  1875.             dc.w                $AAA3
  1876.         EndM
  1877.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1878.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceEnd
  1879.     ENDIF
  1880.  
  1881. ;
  1882. ; pascal OSErr ImageTranscodeFrame(ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  1883. ;
  1884.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1885.         Macro
  1886.         _ImageTranscodeFrame
  1887.             move.l              #$00140071,D0
  1888.             dc.w                $AAA3
  1889.         EndM
  1890.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1891.         IMPORT_CFM_FUNCTION ImageTranscodeFrame
  1892.     ENDIF
  1893.  
  1894. ;
  1895. ; pascal OSErr ImageTranscodeDisposeFrameData(ImageTranscodeSequence its, void *dstData)
  1896. ;
  1897.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1898.         Macro
  1899.         _ImageTranscodeDisposeFrameData
  1900.             move.l              #$00080072,D0
  1901.             dc.w                $AAA3
  1902.         EndM
  1903.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1904.         IMPORT_CFM_FUNCTION ImageTranscodeDisposeFrameData
  1905.     ENDIF
  1906.  
  1907. ;
  1908. ; pascal OSErr CDSequenceInvalidate(ImageSequence seqID, RgnHandle invalRgn)
  1909. ;
  1910.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1911.         Macro
  1912.         _CDSequenceInvalidate
  1913.             move.l              #$00080073,D0
  1914.             dc.w                $AAA3
  1915.         EndM
  1916.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1917.         IMPORT_CFM_FUNCTION CDSequenceInvalidate
  1918.     ENDIF
  1919.  
  1920. ;
  1921. ; pascal OSErr CDSequenceSetTimeBase(ImageSequence seqID, void *base)
  1922. ;
  1923.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1924.         Macro
  1925.         _CDSequenceSetTimeBase
  1926.             move.l              #$00080079,D0
  1927.             dc.w                $AAA3
  1928.         EndM
  1929.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1930.         IMPORT_CFM_FUNCTION CDSequenceSetTimeBase
  1931.     ENDIF
  1932.  
  1933. ;
  1934. ; pascal OSErr ImageFieldSequenceBegin(ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut)
  1935. ;
  1936.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1937.         Macro
  1938.         _ImageFieldSequenceBegin
  1939.             move.l              #$0010006D,D0
  1940.             dc.w                $AAA3
  1941.         EndM
  1942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1943.         IMPORT_CFM_FUNCTION ImageFieldSequenceBegin
  1944.     ENDIF
  1945.  
  1946. ;
  1947. ; pascal OSErr ImageFieldSequenceExtractCombine(ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize)
  1948. ;
  1949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1950.         Macro
  1951.         _ImageFieldSequenceExtractCombine
  1952.             move.l              #$00200075,D0
  1953.             dc.w                $AAA3
  1954.         EndM
  1955.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1956.         IMPORT_CFM_FUNCTION ImageFieldSequenceExtractCombine
  1957.     ENDIF
  1958.  
  1959. ;
  1960. ; pascal OSErr ImageFieldSequenceEnd(ImageFieldSequence ifs)
  1961. ;
  1962.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1963.         Macro
  1964.         _ImageFieldSequenceEnd
  1965.             move.l              #$00040076,D0
  1966.             dc.w                $AAA3
  1967.         EndM
  1968.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1969.         IMPORT_CFM_FUNCTION ImageFieldSequenceEnd
  1970.     ENDIF
  1971.  
  1972.  
  1973. kICMTempThenAppMemory            EQU        $00001000
  1974. kICMAppThenTempMemory            EQU        $00002000
  1975. ;
  1976. ; pascal OSErr QTNewGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1977. ;
  1978.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1979.         Macro
  1980.         _QTNewGWorld
  1981.             move.l              #$00180080,D0
  1982.             dc.w                $AAA3
  1983.         EndM
  1984.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1985.         IMPORT_CFM_FUNCTION QTNewGWorld
  1986.     ENDIF
  1987.  
  1988. ;
  1989. ; pascal GWorldFlags QTUpdateGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1990. ;
  1991.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1992.         Macro
  1993.         _QTUpdateGWorld
  1994.             move.l              #$00180081,D0
  1995.             dc.w                $AAA3
  1996.         EndM
  1997.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1998.         IMPORT_CFM_FUNCTION QTUpdateGWorld
  1999.     ENDIF
  2000.  
  2001. ;
  2002. ; pascal OSErr MakeImageDescriptionForPixMap(PixMapHandle pixmap, ImageDescriptionHandle *idh)
  2003. ;
  2004.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2005.         Macro
  2006.         _MakeImageDescriptionForPixMap
  2007.             move.l              #$0008007A,D0
  2008.             dc.w                $AAA3
  2009.         EndM
  2010.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2011.         IMPORT_CFM_FUNCTION MakeImageDescriptionForPixMap
  2012.     ENDIF
  2013.  
  2014. ;
  2015. ; pascal short QTGetPixelSize(OSType PixelFormat)
  2016. ;
  2017.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2018.         Macro
  2019.         _QTGetPixelSize
  2020.             move.l              #$00040086,D0
  2021.             dc.w                $AAA3
  2022.         EndM
  2023.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2024.         IMPORT_CFM_FUNCTION QTGetPixelSize
  2025.     ENDIF
  2026.  
  2027.  
  2028.  
  2029.  
  2030. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  2031. translateMatrixType                EQU        $01                    ; result if matrix translates 
  2032. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  2033. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  2034. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  2035. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  2036. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  2037. ; typedef unsigned short                 MatrixFlags
  2038.  
  2039. ;
  2040. ; pascal short GetMatrixType(const MatrixRecord *m)
  2041. ;
  2042.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2043.         Macro
  2044.         _GetMatrixType
  2045.             moveq               #20,D0
  2046.             dc.w                $ABC2
  2047.         EndM
  2048.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2049.         IMPORT_CFM_FUNCTION GetMatrixType
  2050.     ENDIF
  2051.  
  2052. ;
  2053. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  2054. ;
  2055.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2056.         Macro
  2057.         _CopyMatrix
  2058.             moveq               #32,D0
  2059.             dc.w                $ABC2
  2060.         EndM
  2061.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2062.         IMPORT_CFM_FUNCTION CopyMatrix
  2063.     ENDIF
  2064.  
  2065. ;
  2066. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  2067. ;
  2068.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2069.         Macro
  2070.         _EqualMatrix
  2071.             moveq               #33,D0
  2072.             dc.w                $ABC2
  2073.         EndM
  2074.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2075.         IMPORT_CFM_FUNCTION EqualMatrix
  2076.     ENDIF
  2077.  
  2078. ;
  2079. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  2080. ;
  2081.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2082.         Macro
  2083.         _SetIdentityMatrix
  2084.             moveq               #21,D0
  2085.             dc.w                $ABC2
  2086.         EndM
  2087.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2088.         IMPORT_CFM_FUNCTION SetIdentityMatrix
  2089.     ENDIF
  2090.  
  2091. ;
  2092. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  2093. ;
  2094.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2095.         Macro
  2096.         _TranslateMatrix
  2097.             moveq               #25,D0
  2098.             dc.w                $ABC2
  2099.         EndM
  2100.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2101.         IMPORT_CFM_FUNCTION TranslateMatrix
  2102.     ENDIF
  2103.  
  2104. ;
  2105. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  2106. ;
  2107.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2108.         Macro
  2109.         _RotateMatrix
  2110.             moveq               #22,D0
  2111.             dc.w                $ABC2
  2112.         EndM
  2113.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2114.         IMPORT_CFM_FUNCTION RotateMatrix
  2115.     ENDIF
  2116.  
  2117. ;
  2118. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  2119. ;
  2120.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2121.         Macro
  2122.         _ScaleMatrix
  2123.             moveq               #23,D0
  2124.             dc.w                $ABC2
  2125.         EndM
  2126.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2127.         IMPORT_CFM_FUNCTION ScaleMatrix
  2128.     ENDIF
  2129.  
  2130. ;
  2131. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  2132. ;
  2133.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2134.         Macro
  2135.         _SkewMatrix
  2136.             moveq               #24,D0
  2137.             dc.w                $ABC2
  2138.         EndM
  2139.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2140.         IMPORT_CFM_FUNCTION SkewMatrix
  2141.     ENDIF
  2142.  
  2143. ;
  2144. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  2145. ;
  2146.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2147.         Macro
  2148.         _TransformFixedPoints
  2149.             moveq               #34,D0
  2150.             dc.w                $ABC2
  2151.         EndM
  2152.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2153.         IMPORT_CFM_FUNCTION TransformFixedPoints
  2154.     ENDIF
  2155.  
  2156. ;
  2157. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  2158. ;
  2159.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2160.         Macro
  2161.         _TransformPoints
  2162.             moveq               #35,D0
  2163.             dc.w                $ABC2
  2164.         EndM
  2165.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2166.         IMPORT_CFM_FUNCTION TransformPoints
  2167.     ENDIF
  2168.  
  2169. ;
  2170. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  2171. ;
  2172.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2173.         Macro
  2174.         _TransformFixedRect
  2175.             moveq               #36,D0
  2176.             dc.w                $ABC2
  2177.         EndM
  2178.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2179.         IMPORT_CFM_FUNCTION TransformFixedRect
  2180.     ENDIF
  2181.  
  2182. ;
  2183. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  2184. ;
  2185.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2186.         Macro
  2187.         _TransformRect
  2188.             moveq               #37,D0
  2189.             dc.w                $ABC2
  2190.         EndM
  2191.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2192.         IMPORT_CFM_FUNCTION TransformRect
  2193.     ENDIF
  2194.  
  2195. ;
  2196. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  2197. ;
  2198.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2199.         Macro
  2200.         _InverseMatrix
  2201.             moveq               #28,D0
  2202.             dc.w                $ABC2
  2203.         EndM
  2204.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2205.         IMPORT_CFM_FUNCTION InverseMatrix
  2206.     ENDIF
  2207.  
  2208. ;
  2209. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  2210. ;
  2211.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2212.         Macro
  2213.         _ConcatMatrix
  2214.             moveq               #27,D0
  2215.             dc.w                $ABC2
  2216.         EndM
  2217.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2218.         IMPORT_CFM_FUNCTION ConcatMatrix
  2219.     ENDIF
  2220.  
  2221. ;
  2222. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  2223. ;
  2224.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2225.         Macro
  2226.         _RectMatrix
  2227.             moveq               #30,D0
  2228.             dc.w                $ABC2
  2229.         EndM
  2230.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2231.         IMPORT_CFM_FUNCTION RectMatrix
  2232.     ENDIF
  2233.  
  2234. ;
  2235. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  2236. ;
  2237.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2238.         Macro
  2239.         _MapMatrix
  2240.             moveq               #29,D0
  2241.             dc.w                $ABC2
  2242.         EndM
  2243.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2244.         IMPORT_CFM_FUNCTION MapMatrix
  2245.     ENDIF
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253. ;
  2254. ; pascal void CompAdd(wide *src, wide *dst)
  2255. ;
  2256.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2257.         Macro
  2258.         _CompAdd
  2259.             moveq               #1,D0
  2260.             dc.w                $ABC2
  2261.         EndM
  2262.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2263.         IMPORT_CFM_FUNCTION CompAdd
  2264.     ENDIF
  2265.  
  2266. ;
  2267. ; pascal void CompSub(wide *src, wide *dst)
  2268. ;
  2269.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2270.         Macro
  2271.         _CompSub
  2272.             moveq               #2,D0
  2273.             dc.w                $ABC2
  2274.         EndM
  2275.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2276.         IMPORT_CFM_FUNCTION CompSub
  2277.     ENDIF
  2278.  
  2279. ;
  2280. ; pascal void CompNeg(wide *dst)
  2281. ;
  2282.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2283.         Macro
  2284.         _CompNeg
  2285.             moveq               #3,D0
  2286.             dc.w                $ABC2
  2287.         EndM
  2288.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2289.         IMPORT_CFM_FUNCTION CompNeg
  2290.     ENDIF
  2291.  
  2292. ;
  2293. ; pascal void CompShift(wide *src, short shift)
  2294. ;
  2295.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2296.         Macro
  2297.         _CompShift
  2298.             moveq               #4,D0
  2299.             dc.w                $ABC2
  2300.         EndM
  2301.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2302.         IMPORT_CFM_FUNCTION CompShift
  2303.     ENDIF
  2304.  
  2305. ;
  2306. ; pascal void CompMul(long src1, long src2, wide *dst)
  2307. ;
  2308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2309.         Macro
  2310.         _CompMul
  2311.             moveq               #5,D0
  2312.             dc.w                $ABC2
  2313.         EndM
  2314.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2315.         IMPORT_CFM_FUNCTION CompMul
  2316.     ENDIF
  2317.  
  2318. ;
  2319. ; pascal long CompDiv(wide *numerator, long denominator, long *remainder)
  2320. ;
  2321.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2322.         Macro
  2323.         _CompDiv
  2324.             moveq               #6,D0
  2325.             dc.w                $ABC2
  2326.         EndM
  2327.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2328.         IMPORT_CFM_FUNCTION CompDiv
  2329.     ENDIF
  2330.  
  2331. ;
  2332. ; pascal void CompFixMul(wide *compSrc, Fixed fixSrc, wide *compDst)
  2333. ;
  2334.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2335.         Macro
  2336.         _CompFixMul
  2337.             moveq               #7,D0
  2338.             dc.w                $ABC2
  2339.         EndM
  2340.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2341.         IMPORT_CFM_FUNCTION CompFixMul
  2342.     ENDIF
  2343.  
  2344. ;
  2345. ; pascal void CompMulDiv(wide *co, long mul, long divisor)
  2346. ;
  2347.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2348.         Macro
  2349.         _CompMulDiv
  2350.             moveq               #8,D0
  2351.             dc.w                $ABC2
  2352.         EndM
  2353.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2354.         IMPORT_CFM_FUNCTION CompMulDiv
  2355.     ENDIF
  2356.  
  2357. ;
  2358. ; pascal void CompMulDivTrunc(wide *co, long mul, long divisor, long *remainder)
  2359. ;
  2360.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2361.         Macro
  2362.         _CompMulDivTrunc
  2363.             moveq               #12,D0
  2364.             dc.w                $ABC2
  2365.         EndM
  2366.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2367.         IMPORT_CFM_FUNCTION CompMulDivTrunc
  2368.     ENDIF
  2369.  
  2370. ;
  2371. ; pascal long CompCompare(wide *a, wide *minusb)
  2372. ;
  2373.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2374.         Macro
  2375.         _CompCompare
  2376.             moveq               #9,D0
  2377.             dc.w                $ABC2
  2378.         EndM
  2379.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2380.         IMPORT_CFM_FUNCTION CompCompare
  2381.     ENDIF
  2382.  
  2383. ;
  2384. ; pascal unsigned long CompSquareRoot(const wide *src)
  2385. ;
  2386.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2387.         Macro
  2388.         _CompSquareRoot
  2389.             moveq               #17,D0
  2390.             dc.w                $ABC2
  2391.         EndM
  2392.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2393.         IMPORT_CFM_FUNCTION CompSquareRoot
  2394.     ENDIF
  2395.  
  2396. ;
  2397. ; pascal Fixed FixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2398. ;
  2399.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2400.         Macro
  2401.         _FixMulDiv
  2402.             moveq               #10,D0
  2403.             dc.w                $ABC2
  2404.         EndM
  2405.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2406.         IMPORT_CFM_FUNCTION FixMulDiv
  2407.     ENDIF
  2408.  
  2409. ;
  2410. ; pascal Fixed UnsignedFixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2411. ;
  2412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2413.         Macro
  2414.         _UnsignedFixMulDiv
  2415.             moveq               #13,D0
  2416.             dc.w                $ABC2
  2417.         EndM
  2418.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2419.         IMPORT_CFM_FUNCTION UnsignedFixMulDiv
  2420.     ENDIF
  2421.  
  2422. ;
  2423. ; pascal Fract FracSinCos(Fixed degree, Fract *cosOut)
  2424. ;
  2425.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2426.         Macro
  2427.         _FracSinCos
  2428.             moveq               #11,D0
  2429.             dc.w                $ABC2
  2430.         EndM
  2431.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2432.         IMPORT_CFM_FUNCTION FracSinCos
  2433.     ENDIF
  2434.  
  2435. ;
  2436. ; pascal Fixed FixExp2(Fixed src)
  2437. ;
  2438.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2439.         Macro
  2440.         _FixExp2
  2441.             moveq               #14,D0
  2442.             dc.w                $ABC2
  2443.         EndM
  2444.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2445.         IMPORT_CFM_FUNCTION FixExp2
  2446.     ENDIF
  2447.  
  2448. ;
  2449. ; pascal Fixed FixLog2(Fixed src)
  2450. ;
  2451.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2452.         Macro
  2453.         _FixLog2
  2454.             moveq               #15,D0
  2455.             dc.w                $ABC2
  2456.         EndM
  2457.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2458.         IMPORT_CFM_FUNCTION FixLog2
  2459.     ENDIF
  2460.  
  2461. ;
  2462. ; pascal Fixed FixPow(Fixed base, Fixed exp)
  2463. ;
  2464.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2465.         Macro
  2466.         _FixPow
  2467.             moveq               #16,D0
  2468.             dc.w                $ABC2
  2469.         EndM
  2470.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2471.         IMPORT_CFM_FUNCTION FixPow
  2472.     ENDIF
  2473.  
  2474.  
  2475.  
  2476.  
  2477. ; typedef ComponentInstance             GraphicsImportComponent
  2478.  
  2479.  
  2480. GraphicsImporterComponentType    EQU        'grip'
  2481.  
  2482. graphicsImporterUsesImageDecompressor EQU $00800000
  2483.  
  2484. quickTimeImageFileImageDescriptionAtom EQU 'idsc'
  2485. quickTimeImageFileImageDataAtom    EQU        'idat'
  2486. quickTimeImageFileMetaDataAtom    EQU        'meta'
  2487.  
  2488. graphicsImporterDrawsAllPixels    EQU        0
  2489. graphicsImporterDoesntDrawAllPixels EQU    1
  2490. graphicsImporterDontKnowIfDrawAllPixels EQU 2
  2491.  
  2492. kGraphicsExportFileType            EQU        'ftyp'
  2493. kGraphicsExportMIMEType            EQU        'mime'
  2494. kGraphicsExportExtension        EQU        'ext '
  2495. kGraphicsExportDescription        EQU        'desc'
  2496.  
  2497. ; * These are GraphicsImport procedures *
  2498. ;
  2499. ; pascal ComponentResult GraphicsImportSetDataReference(GraphicsImportComponent ci, Handle dataRef, OSType dataReType)
  2500. ;
  2501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2502.         Macro
  2503.         _GraphicsImportSetDataReference
  2504.             move.l              #$00080001,-(sp)
  2505.             moveq               #0,D0
  2506.             dc.w                $A82A
  2507.         EndM
  2508.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2509.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReference
  2510.     ENDIF
  2511.  
  2512. ;
  2513. ; pascal ComponentResult GraphicsImportGetDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataReType)
  2514. ;
  2515.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2516.         Macro
  2517.         _GraphicsImportGetDataReference
  2518.             move.l              #$00080002,-(sp)
  2519.             moveq               #0,D0
  2520.             dc.w                $A82A
  2521.         EndM
  2522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2523.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReference
  2524.     ENDIF
  2525.  
  2526. ;
  2527. ; pascal ComponentResult GraphicsImportSetDataFile(GraphicsImportComponent ci, const FSSpec *theFile)
  2528. ;
  2529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2530.         Macro
  2531.         _GraphicsImportSetDataFile
  2532.             move.l              #$00040003,-(sp)
  2533.             moveq               #0,D0
  2534.             dc.w                $A82A
  2535.         EndM
  2536.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2537.         IMPORT_CFM_FUNCTION GraphicsImportSetDataFile
  2538.     ENDIF
  2539.  
  2540. ;
  2541. ; pascal ComponentResult GraphicsImportGetDataFile(GraphicsImportComponent ci, FSSpec *theFile)
  2542. ;
  2543.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2544.         Macro
  2545.         _GraphicsImportGetDataFile
  2546.             move.l              #$00040004,-(sp)
  2547.             moveq               #0,D0
  2548.             dc.w                $A82A
  2549.         EndM
  2550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2551.         IMPORT_CFM_FUNCTION GraphicsImportGetDataFile
  2552.     ENDIF
  2553.  
  2554. ;
  2555. ; pascal ComponentResult GraphicsImportSetDataHandle(GraphicsImportComponent ci, Handle h)
  2556. ;
  2557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2558.         Macro
  2559.         _GraphicsImportSetDataHandle
  2560.             move.l              #$00040005,-(sp)
  2561.             moveq               #0,D0
  2562.             dc.w                $A82A
  2563.         EndM
  2564.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2565.         IMPORT_CFM_FUNCTION GraphicsImportSetDataHandle
  2566.     ENDIF
  2567.  
  2568. ;
  2569. ; pascal ComponentResult GraphicsImportGetDataHandle(GraphicsImportComponent ci, Handle *h)
  2570. ;
  2571.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2572.         Macro
  2573.         _GraphicsImportGetDataHandle
  2574.             move.l              #$00040006,-(sp)
  2575.             moveq               #0,D0
  2576.             dc.w                $A82A
  2577.         EndM
  2578.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2579.         IMPORT_CFM_FUNCTION GraphicsImportGetDataHandle
  2580.     ENDIF
  2581.  
  2582. ;
  2583. ; pascal ComponentResult GraphicsImportGetImageDescription(GraphicsImportComponent ci, ImageDescriptionHandle *desc)
  2584. ;
  2585.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2586.         Macro
  2587.         _GraphicsImportGetImageDescription
  2588.             move.l              #$00040007,-(sp)
  2589.             moveq               #0,D0
  2590.             dc.w                $A82A
  2591.         EndM
  2592.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2593.         IMPORT_CFM_FUNCTION GraphicsImportGetImageDescription
  2594.     ENDIF
  2595.  
  2596. ;
  2597. ; pascal ComponentResult GraphicsImportGetDataOffsetAndSize(GraphicsImportComponent ci, unsigned long *offset, unsigned long *size)
  2598. ;
  2599.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2600.         Macro
  2601.         _GraphicsImportGetDataOffsetAndSize
  2602.             move.l              #$00080008,-(sp)
  2603.             moveq               #0,D0
  2604.             dc.w                $A82A
  2605.         EndM
  2606.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2607.         IMPORT_CFM_FUNCTION GraphicsImportGetDataOffsetAndSize
  2608.     ENDIF
  2609.  
  2610. ;
  2611. ; pascal ComponentResult GraphicsImportReadData(GraphicsImportComponent ci, void *dataPtr, unsigned long dataOffset, unsigned long dataSize)
  2612. ;
  2613.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2614.         Macro
  2615.         _GraphicsImportReadData
  2616.             move.l              #$000C0009,-(sp)
  2617.             moveq               #0,D0
  2618.             dc.w                $A82A
  2619.         EndM
  2620.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2621.         IMPORT_CFM_FUNCTION GraphicsImportReadData
  2622.     ENDIF
  2623.  
  2624. ;
  2625. ; pascal ComponentResult GraphicsImportSetClip(GraphicsImportComponent ci, RgnHandle clipRgn)
  2626. ;
  2627.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2628.         Macro
  2629.         _GraphicsImportSetClip
  2630.             move.l              #$0004000A,-(sp)
  2631.             moveq               #0,D0
  2632.             dc.w                $A82A
  2633.         EndM
  2634.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2635.         IMPORT_CFM_FUNCTION GraphicsImportSetClip
  2636.     ENDIF
  2637.  
  2638. ;
  2639. ; pascal ComponentResult GraphicsImportGetClip(GraphicsImportComponent ci, RgnHandle *clipRgn)
  2640. ;
  2641.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2642.         Macro
  2643.         _GraphicsImportGetClip
  2644.             move.l              #$0004000B,-(sp)
  2645.             moveq               #0,D0
  2646.             dc.w                $A82A
  2647.         EndM
  2648.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2649.         IMPORT_CFM_FUNCTION GraphicsImportGetClip
  2650.     ENDIF
  2651.  
  2652. ;
  2653. ; pascal ComponentResult GraphicsImportSetSourceRect(GraphicsImportComponent ci, const Rect *sourceRect)
  2654. ;
  2655.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2656.         Macro
  2657.         _GraphicsImportSetSourceRect
  2658.             move.l              #$0004000C,-(sp)
  2659.             moveq               #0,D0
  2660.             dc.w                $A82A
  2661.         EndM
  2662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2663.         IMPORT_CFM_FUNCTION GraphicsImportSetSourceRect
  2664.     ENDIF
  2665.  
  2666. ;
  2667. ; pascal ComponentResult GraphicsImportGetSourceRect(GraphicsImportComponent ci, Rect *sourceRect)
  2668. ;
  2669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2670.         Macro
  2671.         _GraphicsImportGetSourceRect
  2672.             move.l              #$0004000D,-(sp)
  2673.             moveq               #0,D0
  2674.             dc.w                $A82A
  2675.         EndM
  2676.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2677.         IMPORT_CFM_FUNCTION GraphicsImportGetSourceRect
  2678.     ENDIF
  2679.  
  2680. ;
  2681. ; pascal ComponentResult GraphicsImportGetNaturalBounds(GraphicsImportComponent ci, Rect *naturalBounds)
  2682. ;
  2683.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2684.         Macro
  2685.         _GraphicsImportGetNaturalBounds
  2686.             move.l              #$0004000E,-(sp)
  2687.             moveq               #0,D0
  2688.             dc.w                $A82A
  2689.         EndM
  2690.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2691.         IMPORT_CFM_FUNCTION GraphicsImportGetNaturalBounds
  2692.     ENDIF
  2693.  
  2694. ;
  2695. ; pascal ComponentResult GraphicsImportDraw(GraphicsImportComponent ci)
  2696. ;
  2697.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2698.         Macro
  2699.         _GraphicsImportDraw
  2700.             move.l              #$0000000F,-(sp)
  2701.             moveq               #0,D0
  2702.             dc.w                $A82A
  2703.         EndM
  2704.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2705.         IMPORT_CFM_FUNCTION GraphicsImportDraw
  2706.     ENDIF
  2707.  
  2708. ;
  2709. ; pascal ComponentResult GraphicsImportSetGWorld(GraphicsImportComponent ci, CGrafPtr port, GDHandle gd)
  2710. ;
  2711.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2712.         Macro
  2713.         _GraphicsImportSetGWorld
  2714.             move.l              #$00080010,-(sp)
  2715.             moveq               #0,D0
  2716.             dc.w                $A82A
  2717.         EndM
  2718.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2719.         IMPORT_CFM_FUNCTION GraphicsImportSetGWorld
  2720.     ENDIF
  2721.  
  2722. ;
  2723. ; pascal ComponentResult GraphicsImportGetGWorld(GraphicsImportComponent ci, CGrafPtr *port, GDHandle *gd)
  2724. ;
  2725.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2726.         Macro
  2727.         _GraphicsImportGetGWorld
  2728.             move.l              #$00080011,-(sp)
  2729.             moveq               #0,D0
  2730.             dc.w                $A82A
  2731.         EndM
  2732.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2733.         IMPORT_CFM_FUNCTION GraphicsImportGetGWorld
  2734.     ENDIF
  2735.  
  2736. ;
  2737. ; pascal ComponentResult GraphicsImportSetMatrix(GraphicsImportComponent ci, const MatrixRecord *matrix)
  2738. ;
  2739.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2740.         Macro
  2741.         _GraphicsImportSetMatrix
  2742.             move.l              #$00040012,-(sp)
  2743.             moveq               #0,D0
  2744.             dc.w                $A82A
  2745.         EndM
  2746.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2747.         IMPORT_CFM_FUNCTION GraphicsImportSetMatrix
  2748.     ENDIF
  2749.  
  2750. ;
  2751. ; pascal ComponentResult GraphicsImportGetMatrix(GraphicsImportComponent ci, MatrixRecord *matrix)
  2752. ;
  2753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2754.         Macro
  2755.         _GraphicsImportGetMatrix
  2756.             move.l              #$00040013,-(sp)
  2757.             moveq               #0,D0
  2758.             dc.w                $A82A
  2759.         EndM
  2760.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2761.         IMPORT_CFM_FUNCTION GraphicsImportGetMatrix
  2762.     ENDIF
  2763.  
  2764. ;
  2765. ; pascal ComponentResult GraphicsImportSetBoundsRect(GraphicsImportComponent ci, const Rect *bounds)
  2766. ;
  2767.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2768.         Macro
  2769.         _GraphicsImportSetBoundsRect
  2770.             move.l              #$00040014,-(sp)
  2771.             moveq               #0,D0
  2772.             dc.w                $A82A
  2773.         EndM
  2774.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2775.         IMPORT_CFM_FUNCTION GraphicsImportSetBoundsRect
  2776.     ENDIF
  2777.  
  2778. ;
  2779. ; pascal ComponentResult GraphicsImportGetBoundsRect(GraphicsImportComponent ci, Rect *bounds)
  2780. ;
  2781.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2782.         Macro
  2783.         _GraphicsImportGetBoundsRect
  2784.             move.l              #$00040015,-(sp)
  2785.             moveq               #0,D0
  2786.             dc.w                $A82A
  2787.         EndM
  2788.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2789.         IMPORT_CFM_FUNCTION GraphicsImportGetBoundsRect
  2790.     ENDIF
  2791.  
  2792. ;
  2793. ; pascal ComponentResult GraphicsImportSaveAsPicture(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2794. ;
  2795.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2796.         Macro
  2797.         _GraphicsImportSaveAsPicture
  2798.             move.l              #$00060016,-(sp)
  2799.             moveq               #0,D0
  2800.             dc.w                $A82A
  2801.         EndM
  2802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2803.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsPicture
  2804.     ENDIF
  2805.  
  2806. ;
  2807. ; pascal ComponentResult GraphicsImportSetGraphicsMode(GraphicsImportComponent ci, long graphicsMode, const RGBColor *opColor)
  2808. ;
  2809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2810.         Macro
  2811.         _GraphicsImportSetGraphicsMode
  2812.             move.l              #$00080017,-(sp)
  2813.             moveq               #0,D0
  2814.             dc.w                $A82A
  2815.         EndM
  2816.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2817.         IMPORT_CFM_FUNCTION GraphicsImportSetGraphicsMode
  2818.     ENDIF
  2819.  
  2820. ;
  2821. ; pascal ComponentResult GraphicsImportGetGraphicsMode(GraphicsImportComponent ci, long *graphicsMode, RGBColor *opColor)
  2822. ;
  2823.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2824.         Macro
  2825.         _GraphicsImportGetGraphicsMode
  2826.             move.l              #$00080018,-(sp)
  2827.             moveq               #0,D0
  2828.             dc.w                $A82A
  2829.         EndM
  2830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2831.         IMPORT_CFM_FUNCTION GraphicsImportGetGraphicsMode
  2832.     ENDIF
  2833.  
  2834. ;
  2835. ; pascal ComponentResult GraphicsImportSetQuality(GraphicsImportComponent ci, CodecQ quality)
  2836. ;
  2837.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2838.         Macro
  2839.         _GraphicsImportSetQuality
  2840.             move.l              #$00040019,-(sp)
  2841.             moveq               #0,D0
  2842.             dc.w                $A82A
  2843.         EndM
  2844.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2845.         IMPORT_CFM_FUNCTION GraphicsImportSetQuality
  2846.     ENDIF
  2847.  
  2848. ;
  2849. ; pascal ComponentResult GraphicsImportGetQuality(GraphicsImportComponent ci, CodecQ *quality)
  2850. ;
  2851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2852.         Macro
  2853.         _GraphicsImportGetQuality
  2854.             move.l              #$0004001A,-(sp)
  2855.             moveq               #0,D0
  2856.             dc.w                $A82A
  2857.         EndM
  2858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2859.         IMPORT_CFM_FUNCTION GraphicsImportGetQuality
  2860.     ENDIF
  2861.  
  2862. ;
  2863. ; pascal ComponentResult GraphicsImportSaveAsQuickTimeImageFile(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2864. ;
  2865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2866.         Macro
  2867.         _GraphicsImportSaveAsQuickTimeImageFile
  2868.             move.l              #$0006001B,-(sp)
  2869.             moveq               #0,D0
  2870.             dc.w                $A82A
  2871.         EndM
  2872.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2873.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsQuickTimeImageFile
  2874.     ENDIF
  2875.  
  2876. ;
  2877. ; pascal ComponentResult GraphicsImportSetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long offset, unsigned long limit)
  2878. ;
  2879.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2880.         Macro
  2881.         _GraphicsImportSetDataReferenceOffsetAndLimit
  2882.             move.l              #$0008001C,-(sp)
  2883.             moveq               #0,D0
  2884.             dc.w                $A82A
  2885.         EndM
  2886.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2887.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit
  2888.     ENDIF
  2889.  
  2890. ;
  2891. ; pascal ComponentResult GraphicsImportGetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long *offset, unsigned long *limit)
  2892. ;
  2893.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2894.         Macro
  2895.         _GraphicsImportGetDataReferenceOffsetAndLimit
  2896.             move.l              #$0008001D,-(sp)
  2897.             moveq               #0,D0
  2898.             dc.w                $A82A
  2899.         EndM
  2900.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2901.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit
  2902.     ENDIF
  2903.  
  2904. ;
  2905. ; pascal ComponentResult GraphicsImportGetAliasedDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataRefType)
  2906. ;
  2907.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2908.         Macro
  2909.         _GraphicsImportGetAliasedDataReference
  2910.             move.l              #$0008001E,-(sp)
  2911.             moveq               #0,D0
  2912.             dc.w                $A82A
  2913.         EndM
  2914.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2915.         IMPORT_CFM_FUNCTION GraphicsImportGetAliasedDataReference
  2916.     ENDIF
  2917.  
  2918. ;
  2919. ; pascal ComponentResult GraphicsImportValidate(GraphicsImportComponent ci, Boolean *valid)
  2920. ;
  2921.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2922.         Macro
  2923.         _GraphicsImportValidate
  2924.             move.l              #$0004001F,-(sp)
  2925.             moveq               #0,D0
  2926.             dc.w                $A82A
  2927.         EndM
  2928.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2929.         IMPORT_CFM_FUNCTION GraphicsImportValidate
  2930.     ENDIF
  2931.  
  2932. ;
  2933. ; pascal ComponentResult GraphicsImportGetMetaData(GraphicsImportComponent ci, void *userData)
  2934. ;
  2935.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2936.         Macro
  2937.         _GraphicsImportGetMetaData
  2938.             move.l              #$00040020,-(sp)
  2939.             moveq               #0,D0
  2940.             dc.w                $A82A
  2941.         EndM
  2942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2943.         IMPORT_CFM_FUNCTION GraphicsImportGetMetaData
  2944.     ENDIF
  2945.  
  2946. ;
  2947. ; pascal ComponentResult GraphicsImportGetMIMETypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  2948. ;
  2949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2950.         Macro
  2951.         _GraphicsImportGetMIMETypeList
  2952.             move.l              #$00040021,-(sp)
  2953.             moveq               #0,D0
  2954.             dc.w                $A82A
  2955.         EndM
  2956.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2957.         IMPORT_CFM_FUNCTION GraphicsImportGetMIMETypeList
  2958.     ENDIF
  2959.  
  2960. ;
  2961. ; pascal ComponentResult GraphicsImportDoesDrawAllPixels(GraphicsImportComponent ci, short *drawsAllPixels)
  2962. ;
  2963.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2964.         Macro
  2965.         _GraphicsImportDoesDrawAllPixels
  2966.             move.l              #$00040022,-(sp)
  2967.             moveq               #0,D0
  2968.             dc.w                $A82A
  2969.         EndM
  2970.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2971.         IMPORT_CFM_FUNCTION GraphicsImportDoesDrawAllPixels
  2972.     ENDIF
  2973.  
  2974. ;
  2975. ; pascal ComponentResult GraphicsImportGetAsPicture(GraphicsImportComponent ci, PicHandle *picture)
  2976. ;
  2977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2978.         Macro
  2979.         _GraphicsImportGetAsPicture
  2980.             move.l              #$00040023,-(sp)
  2981.             moveq               #0,D0
  2982.             dc.w                $A82A
  2983.         EndM
  2984.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2985.         IMPORT_CFM_FUNCTION GraphicsImportGetAsPicture
  2986.     ENDIF
  2987.  
  2988. ;
  2989. ; pascal ComponentResult GraphicsImportExportImageFile(GraphicsImportComponent ci, OSType fileType, OSType fileCreator, const FSSpec *fss, ScriptCode scriptTag)
  2990. ;
  2991.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2992.         Macro
  2993.         _GraphicsImportExportImageFile
  2994.             move.l              #$000E0024,-(sp)
  2995.             moveq               #0,D0
  2996.             dc.w                $A82A
  2997.         EndM
  2998.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2999.         IMPORT_CFM_FUNCTION GraphicsImportExportImageFile
  3000.     ENDIF
  3001.  
  3002. ;
  3003. ; pascal ComponentResult GraphicsImportGetExportImageTypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3004. ;
  3005.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3006.         Macro
  3007.         _GraphicsImportGetExportImageTypeList
  3008.             move.l              #$00040025,-(sp)
  3009.             moveq               #0,D0
  3010.             dc.w                $A82A
  3011.         EndM
  3012.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3013.         IMPORT_CFM_FUNCTION GraphicsImportGetExportImageTypeList
  3014.     ENDIF
  3015.  
  3016. ;
  3017. ; pascal ComponentResult GraphicsImportDoExportImageFileDialog(GraphicsImportComponent ci, const FSSpec *inDefaultSpec, ModalFilterYDUPP filterProc, OSType *outExportedType, FSSpec *outExportedSpec, ScriptCode *outScriptTag)
  3018. ;
  3019.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3020.         Macro
  3021.         _GraphicsImportDoExportImageFileDialog
  3022.             move.l              #$00140026,-(sp)
  3023.             moveq               #0,D0
  3024.             dc.w                $A82A
  3025.         EndM
  3026.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3027.         IMPORT_CFM_FUNCTION GraphicsImportDoExportImageFileDialog
  3028.     ENDIF
  3029.  
  3030. ;
  3031. ; pascal ComponentResult GraphicsImportGetExportSettingsAsAtomContainer(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3032. ;
  3033.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3034.         Macro
  3035.         _GraphicsImportGetExportSettingsAsAtomContainer
  3036.             move.l              #$00040027,-(sp)
  3037.             moveq               #0,D0
  3038.             dc.w                $A82A
  3039.         EndM
  3040.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3041.         IMPORT_CFM_FUNCTION GraphicsImportGetExportSettingsAsAtomContainer
  3042.     ENDIF
  3043.  
  3044. ;
  3045. ; pascal ComponentResult GraphicsImportSetExportSettingsFromAtomContainer(GraphicsImportComponent ci, void *qtAtomContainer)
  3046. ;
  3047.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3048.         Macro
  3049.         _GraphicsImportSetExportSettingsFromAtomContainer
  3050.             move.l              #$00040028,-(sp)
  3051.             moveq               #0,D0
  3052.             dc.w                $A82A
  3053.         EndM
  3054.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3055.         IMPORT_CFM_FUNCTION GraphicsImportSetExportSettingsFromAtomContainer
  3056.     ENDIF
  3057.  
  3058.  
  3059. ; typedef ComponentInstance             ImageTranscoderComponent
  3060.  
  3061.  
  3062. ImageTranscodererComponentType    EQU        'imtc'
  3063.  
  3064. ; * These are ImageTranscoder procedures *
  3065. ;
  3066. ; pascal ComponentResult ImageTranscoderBeginSequence(ImageTranscoderComponent itc, ImageDescriptionHandle srcDesc, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  3067. ;
  3068.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3069.         Macro
  3070.         _ImageTranscoderBeginSequence
  3071.             move.l              #$00100001,-(sp)
  3072.             moveq               #0,D0
  3073.             dc.w                $A82A
  3074.         EndM
  3075.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3076.         IMPORT_CFM_FUNCTION ImageTranscoderBeginSequence
  3077.     ENDIF
  3078.  
  3079. ;
  3080. ; pascal ComponentResult ImageTranscoderConvert(ImageTranscoderComponent itc, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  3081. ;
  3082.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3083.         Macro
  3084.         _ImageTranscoderConvert
  3085.             move.l              #$00100002,-(sp)
  3086.             moveq               #0,D0
  3087.             dc.w                $A82A
  3088.         EndM
  3089.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3090.         IMPORT_CFM_FUNCTION ImageTranscoderConvert
  3091.     ENDIF
  3092.  
  3093. ;
  3094. ; pascal ComponentResult ImageTranscoderDisposeData(ImageTranscoderComponent itc, void *dstData)
  3095. ;
  3096.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3097.         Macro
  3098.         _ImageTranscoderDisposeData
  3099.             move.l              #$00040003,-(sp)
  3100.             moveq               #0,D0
  3101.             dc.w                $A82A
  3102.         EndM
  3103.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3104.         IMPORT_CFM_FUNCTION ImageTranscoderDisposeData
  3105.     ENDIF
  3106.  
  3107. ;
  3108. ; pascal ComponentResult ImageTranscoderEndSequence(ImageTranscoderComponent itc)
  3109. ;
  3110.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3111.         Macro
  3112.         _ImageTranscoderEndSequence
  3113.             move.l              #$00000004,-(sp)
  3114.             moveq               #0,D0
  3115.             dc.w                $A82A
  3116.         EndM
  3117.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3118.         IMPORT_CFM_FUNCTION ImageTranscoderEndSequence
  3119.     ENDIF
  3120.  
  3121. ;  UPP call backs 
  3122.  
  3123.     ENDIF ; __IMAGECOMPRESSION__ 
  3124.  
  3125.